一行代码,优化 import.meta.env 使用体验

相信今天推荐的这个插件可以解决很多人 vite 使用过程中遇到过的体验不好的痛点,用过 import.meta.env 的小伙伴应该都有这样的问题。

不想看文字内容的可以直接看 GitHub 插件地址,或选择 哔哩哔哩视频版

正文

举个例子🌰,比如说我们这里通过.env文件在项目中定义了一些环境变量

txt 复制代码
# App 名字
VITE_APP_NAME="My Awesome App"

# App 版本号
VITE_APP_VERSION=1.0.0

# App 接口重试次数
VITE_APP_API_RETRY=3

# 是否开启 App 调试
VITE_APP_DEBUG=true

# App base url
VITE_APP_URL="/app-test"

# App 的 json 配置
VITE_APP_JSON_DATA={"key1":"value1","key2":"value2"}

问题一:不知道当前配置了哪些环境变量

当我想要在项目中通过 import.meta.env 对象访问定义的环境变量,敲下.时,发现没有我们刚刚定义的环境变量,这个时候就不自信了,担心自己写错。有遇到的扣 1

ts 复制代码
import.meta.env.??

问题二:判断值的时候需要写成字符串值比对

我们上面定义了 VITE_APP_DEBUG 来表示是否开启了 App 调试,他是一个 boolean值,但我们并不能直接使用 boolean值,我们需要在代码中这样写。 就很不简洁优雅

ts 复制代码
if(import.meta.env.VITE_APP_DEBUG === 'true') {
  console.log('调试模式开')
} else {
  console.log('调试模式关')
}

启用插件

我们把这个插件启用,然后看下。

ts 复制代码
// vite.config.js / vite.config.ts
import { envParse } from 'vite-plugin-env-parse'

export default {
  plugins: [envParse()]
}

可以看到,代码提示也有了

浏览器中的值输出也变成了本来的值

现在,判断是否开启调试模式就不需要像刚刚那样写了。

ts 复制代码
if(import.meta.env.VITE_APP_DEBUG) {
  console.log('调试模式开')
} else {
  console.log('调试模式关')
}

怎么样,get 到了没。

结尾

安装方式和更多内容参考仓库 README.md

插件地址:github.com/yue1123/vit...

安装方式:npm i vite-plugin-env-parse

相关推荐
llz_1121 小时前
web-第二次课后作业
前端·后端·web
vipbic6 小时前
别再把“做个H5”挂嘴边了:这个词,官方压根就没有定义过
前端
ZC跨境爬虫8 小时前
跟着 MDN 学CSS day_39:(Flexbox 弹性盒子核心机制)
前端·css·ui·html·tensorflow
小陈同学呦8 小时前
前端如何处理订单状态导航的数据竞态问题
前端·javascript
喵个咪8 小时前
GoWind Toolkit 前端代码生成|Vue3(ElementPlus/Vben)、React(AntDesign)全自动一键生成教程
前端·vue.js·react.js
摆烂大大王10 小时前
玩转 OpenClaw:用 TaskFlow + Heartbeat 打造自动化工作流
前端·人工智能·自动化
zhangxingchao10 小时前
AI 大模型核心六:量化、Workflow 与 Agent、多轮 RAG
前端·人工智能·后端
梦想的颜色10 小时前
TypeScript 完全指南(上):从零开始掌握类型系统
前端·typescript
之歆10 小时前
Day01_ES6+ 专业指南:从基础到实战的现代JavaScript开发(下)
前端·javascript·es6
lichenyang45311 小时前
鸿蒙 MVVM 实战:从 Demo 到工程化,聊聊登录、状态管理与埋点系统设计
前端