Vue 我可以设置 process.env.NODE_ENV
问题:Vue 我可以设置 process.env.NODE_ENV 关于此处记录的模式和环境变量 https://cli.vuejs.org/guide/mode-and-env.html#modes 例如,我很困惑为什么我不能将以下变量设置为 mock。正如文件似乎所说,这将是您传入的模式! process.env.NODE_ENV 我在 package.json 中创建了以下服务器模拟命令字符
问题:Vue 我可以设置 process.env.NODE_ENV
关于此处记录的模式和环境变量
https://cli.vuejs.org/guide/mode-and-env.html#modes
例如,我很困惑为什么我不能将以下变量设置为 mock。正如文件似乎所说,这将是您传入的模式!
process.env.NODE_ENV
我在 package.json 中创建了以下服务器模拟命令字符串,如下所示
"serve-mock": "vue-cli-service serve --mode mock"
但是当我跑步时
npm run server-mock
process.env.NODE_ENV 仍设置为 development 而不是 mock。我应该在 .env.mock 文件中设置它吗?我假设它将根据作为 mock 传入的模式进行设置?
解答
Vue CLI 的serve
命令使用mode
选项从特定于模式的.env
文件中加载环境变量。如果尚未设置,它还将NODE_ENV
设置为三种标准模式(test
、development
或production
)之一。但是,如果指定的模式不是标准的(如mock
的情况),Vue CLI默认为development
。
因此,您可以在.env.mock
中设置NODE_ENV=mock
以绕过上述NODE_ENV
设置。
或者,您可以在 *nix shell 中的 NPM 脚本的命令行](https://unix.stackexchange.com/a/56449/17893)上设置[NODE_ENV
:
{
"scripts": {
"serve-mock": "NODE_ENV=mock vue-cli-service serve"
}
}
对于跨平台解决方案(包括 Windows),您可以安装cross-env
(如评论中的建议),并编辑您的 NPM 脚本如下:
{
"scripts": {
"serve-mock": "cross-env NODE_ENV=mock vue-cli-service serve"
}
}
更多推荐
所有评论(0)