Vue项目中.env已有键正常,新增键process.env读取为undefined问题排查
解决Vue项目中新增环境变量返回undefined的问题
必须使用
VUE_APP_前缀命名变量
Vue CLI只会自动注入以VUE_APP_开头的环境变量到process.env中,其他前缀(比如VUE_)或者无前缀的变量都会被忽略。你新增的SOME_NEW_KEY要改成VUE_APP_SOME_NEW_KEY,VUE_SOME_NEW_KEY也要调整为VUE_APP_SOME_NEW_KEY才能被正常读取。检查.env文件的语法规范
确保变量定义没有格式错误:- 等号前后不要加空格,正确写法:
VUE_APP_SOME_NEW_KEY=https://your-api-url.com - 除非值包含空格,否则不要加引号,避免解析异常
- 等号前后不要加空格,正确写法:
确认.env文件的位置
该文件必须放在项目根目录(和package.json同级),如果放在src或其他子目录下,Vue CLI无法识别加载。核对环境对应的.env文件
如果项目区分开发/生产环境,要确认修改的是对应环境的配置文件:比如开发环境用.env.development,生产环境用.env.production,别改错了文件导致变量不生效。
举个正确的配置示例:
# .env 文件内容 VUE_APP_DATA_URL=https://old-api.example.com VUE_APP_SOME_NEW_KEY=https://new-api.example.com
之后在dataService.js中就可以正常通过process.env.VUE_APP_SOME_NEW_KEY获取到值了。
内容的提问来源于stack exchange,提问作者Kirk Ross
相关产品推荐
相关产品推荐

