Skip to content

环境变量与模式

环境变量

Vite 在一个特殊的 import.meta.env 对象上暴露环境变量,这些变量在构建时会被静态地替换掉。

不要和 ESM 弄混了!

  • import.meta 属于 ECMAScript 规范(浏览器、Node.js 原生支持)。
  • import.meta.env 是 Vite 额外扩展的。

.env

bash
.env                # 所有情况下都会加载
.env.local          # 所有情况下都会加载,但会被 git 忽略
.env.[mode]         # 只在指定模式下加载
.env.[mode].local   # 只在指定模式下加载,但会被 git 忽略

定义变量

为了防止意外地将一些环境变量泄漏到客户端,只有以 VITE_ 为前缀的变量才会暴露给经过 vite 处理的代码。例如下面这些环境变量:

bash
KEY=123
NEW_KEY1=test$foo   # test
NEW_KEY2=test\$foo  # test$foo
NEW_KEY3=test$KEY   # test123

使用环境变量

js
console.log(import.meta.env.VITE_KEY)

模式

需要注意,NODE_ENVprocess.env.NODE_ENV)和 模式 是两个不同的概念。

基于 MIT 许可发布