【发布时间】:2019-08-25 21:04:30
【问题描述】:
我已经尝试了所有的解决方案,但似乎没有一个适合我。我只想在我的 Vue 应用程序中的 .env 文件中存储一些值,但只是尝试记录 process.env 从组件内返回一个空对象。
我的.env 文件
VUE_APP_URL={api url}
VUE_APP_TOKEN={token}
我的计划是将这些环境变量设置为数据属性,但它总是返回 undefined。如果我从 webpack.config.js 执行console.log(process.env.NODE_ENV),它将表明我正在开发中,但如果我尝试在组件中执行相同操作,例如
mounted() {
this.$nextTick(() => {
console.log(process.env.VUE_APP_URL);
})
}
它只返回undefined。
【问题讨论】:
-
您将 .env 文件复制到了哪里?您应该将它作为“package.json”的兄弟放在根目录中,并希望您访问像这样的值 proceess.env.VUE_APP_URL
-
我的
.env文件位于根目录中,是 package.json 和 webpack.config.js 的兄弟。从组件调用process.env.VUE_APP_URL会返回undefined -
作为一些答案和 cmets,在这里和this github issue 状态下,您可能只需要重新启动服务器。一些评论指出,他们必须运行
npm run build和npm run dev才能使其工作。可能有一些缓存或类似的东西(我不确定)但我确信热重新加载不会考虑对 .env 文件的任何更改 -
请注意,.env 文件是公开的,不应包含私有数据,例如。 API 令牌。
标签: vue.js vuejs2 environment-variables vue-cli vue-cli-3