按照文档用import.meta.env.DEV
但是报错了Cannot read properties of undefined (reading 'DEV')
vite版本:2.9.5,我以前用2.3.7版本就不会报错,这是做了什么改动?
为了不影响业务,我改用了process.env.NODE_ENV....
按照文档用import.meta.env.DEV
但是报错了Cannot read properties of undefined (reading 'DEV')
vite版本:2.9.5,我以前用2.3.7版本就不会报错,这是做了什么改动?
为了不影响业务,我改用了process.env.NODE_ENV....
.env.*.local 文件应是本地的,可以包含敏感变量。你应该将 .local 添加到你的 .gitignore 中,以避免它们被 git 检入。
由于任何暴露给 Vite 源码的变量最终都将出现在客户端包中,VITE_* 变量应该不包含任何敏感信息。
官网地址:
https://vitejs.cn/guide/env-a...
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
vite官方已经说了,为了防止意外地将一些环境变量泄漏到客户端,只有以 VITE_ 为前缀的变量才会暴露给经过 vite 处理的代码,由于任何暴露给 Vite 源码的变量最终都将出现在客户端包中,VITE_* 变量应该不包含任何敏感信息。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入
为啥上面的回答都好奇怪。import.meta.env.DEV
不是跑项目之后自动有的吗?题主的报错信息难道不是 import.meta.env
获取不到,是 undefined
了吗?
前3个全是文不对题,问题都没读完就回答了
我也碰到了同样的问题,在官方看到这个还没修复,https://github.com/vitejs/vit...
最后使用这种方法解决,能取到自己配置的环境变量,但是import.meta.env.DEV
还是 undefined
解决方式,使用loadEnv
import { defineConfig, loadEnv } from 'vite'
export default (mode) => {
//这样取
const env = loadEnv(mode, process.cwd())
return defineConfig({
})
})
首次运行还是没有,reload后就有了,我服了
4 回答1.1k 阅读✓ 已解决
2 回答1k 阅读
2 回答1k 阅读✓ 已解决
2 回答890 阅读✓ 已解决
1 回答1.1k 阅读
2 回答778 阅读
1 回答908 阅读
VITE_xxxx
必须是这种格式,防止敏感变量泄露