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

相关推荐
Zestia11 分钟前
页面点击跳转源代码?——element-jumper插件实现
前端·javascript
前端小白199512 分钟前
面试取经:工程化篇-webpack性能优化之优化loader性能
前端·面试·前端工程化
PineappleCoder12 分钟前
大小写 + 标点全搞定!JS 如何精准统计单词频率?
前端·javascript·算法
zhangbao90s13 分钟前
Web组件:使用Shadow DOM
前端
hhy前端之旅13 分钟前
语义版本控制:掌握版本管理的艺术
前端
coding随想14 分钟前
深入浅出DOM操作的隐藏利器:Range(范围)对象——掌控文档的“手术刀”
前端
前端小白199514 分钟前
面试取经:工程化篇-webpack性能优化之减少模块解析
前端·面试·前端工程化
一枚前端小能手15 分钟前
🏗️ 项目越来越大维护不动了,微前端架构了解一下
前端
文艺理科生23 分钟前
Nuxt.js入门指南-Vue生态下的高效渲染技术
前端·vue.js·nuxt.js
夏小花花27 分钟前
vue3 ref和reactive的区别和使用场景
前端·javascript·vue.js·typescript