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

相关推荐
GreenTea10 小时前
一文搞懂Harness Engineering与Meta-Harness
前端·人工智能·后端
killerbasd11 小时前
牧苏苏传 我不装了 4/7
前端·javascript·vue.js
吴声子夜歌11 小时前
ES6——二进制数组详解
前端·ecmascript·es6
码事漫谈12 小时前
手把手带你部署本地模型,让你Token自由(小白专属)
前端·后端
ZC跨境爬虫12 小时前
【爬虫实战对比】Requests vs Scrapy 笔趣阁小说爬虫,从单线程到高效并发的全方位升级
前端·爬虫·scrapy·html
爱上好庆祝12 小时前
svg图片
前端·css·学习·html·css3
王夏奇12 小时前
python中的__all__ 具体用法
java·前端·python
大家的林语冰13 小时前
《前端周刊》尤大开源 Vite+ 全家桶,前端工业革命启动;尤大爆料 Void 云服务新产品,Vite 进军全栈开发;ECMA 源码映射规范......
前端·javascript·vue.js
jiayong2313 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习
田八13 小时前
聊聊AI的发展史,AI的爆发并不是偶然
前端·人工智能·程序员