主题
环境变量与模式
环境变量
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_ENV
(process.env.NODE_ENV
)和 模式 是两个不同的概念。