一个环境文件(如 .env .env.dev .env.prod )只包含环境变量的“键=值”对;
只有
NODE_ENV
,
BASE_URL
和以
VUE_APP_
开头的常量将通过
webpack.DefinePlugin
静态地嵌入到
客户端侧
的代码中,
但我们可以通过修改webpack的配置来让项目支持其他命名方式的常量:
// vue.config.js
module.exports = {
chainWebpack: config => { // CLI内部webpack配置
config.plugin('define').tap(args => {
Object.keys(process.env).forEach(key => {
// 忽略含有 npm、VSCODE 的环境常量
/npm|VSCODE/.test(key) || (args[0]['process.env'][key] = JSON.stringify(process.env[key]))
return args
官网还提到可以使用 dotenv-expand 来实现环境常量扩展 (Vue CLI 3.5+ 支持),感兴趣可自行研究。
青云直上三千码