一行代码,优化 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

相关推荐
MetWeave几秒前
一朵玫瑰,装下一年的风(《风不是一个数》系列第 5 篇
前端·数据可视化
UNIHHIOT2 分钟前
开源一套工业物联网平台:驱动崩了不影响别的协议,64MB 堆跑边缘网关
前端·后端
deli0076 分钟前
秒杀超卖实测:1000 个并发请求下 SQL 加锁前后差多少
前端
徐小夕20 分钟前
JitKnow知识库4.8发布:本体+知识图谱检索引擎,让AI回答不再“一本正经地胡说八道”
前端·vue.js·github
智迁21 分钟前
MySQL 到 Kingbase 实时同步:从 Docker 部署到增删改验证
前端·后端
tryCbest1 小时前
Vue3——第 11 篇:组合式 API(上)——setup 与响应式 API 深度解析
前端·javascript·vue.js
tryCbest2 小时前
Vue3——第 13 篇:计算属性与侦听器——computed 与 watch 的进化
前端·javascript·vue.js
怒放的生命19912 小时前
本地用 pnpm 省磁盘,团队继续用 npm:极简实践
前端·npm·node.js
believed_breadfruit2 小时前
我开源了一个HTML 分页导出工具,解决了复杂页面的内容截断、跨页错乱和长文档白屏问题
前端·javascript·github
福狼2 小时前
从“网墙”到柔性曲面:一次 WebGPU 波浪的逆向分析与重建
前端·逆向