我正在做一个 Vue.js 项目。我有一个包含一些VUE_APP_*
环境变量的.env.development
文件。我更改了一些变量的值,但 Vue.js 代码仍然使用以前的值。
我尝试了一切:我停止并使用npm run serve
重新启动服务器,我删除了node_sass
文件夹并再次启动npm install
,我完全重新安装了 nodejs(我也删除了~/.npm
文件夹),我从存储库克隆了我项目的新副本,我重新启动了我的计算机,但它仍然读取变量的旧值。
我还尝试删除.env.development
文件,它给了我一个错误,这意味着它正在从正确的位置读取变量,但是当我恢复已删除的文件时,它一直在读取旧值。
如果我更改变量的值,它仍然显示旧值,如果我添加一个新变量,它会显示undefined
.我没有其他环境文件,我还在所有文件内容中搜索了变量的名称,这是声明它的唯一位置。
你知道 Vue 或 Node.js 是否在某处保留缓存变量吗?
我正在使用最新版本的Linux Mint与node.js 10.19.0,npm 6.14.4(我也尝试使用最新版本)和Vue.js 2.6
谢谢
编辑:这是代码
<template>
...
</template>
<script>
export default {
created() {
console.log(process.env.VUE_APP_MYVAR);
},
data() {
return { }
}
</script>
我刚刚遇到了同样的问题,这是因为 vue 服务器已经在不知不觉中运行了,所以当我运行vue-cli-service serve
时,它没有更新出现在浏览器中的 env 变量。为了解决这个问题,我发现该进程在端口 8080(vue 的默认端口)上运行并杀死了它。首先运行lsof i:8080
并使用kill {PID}
终止节点进程。