一个环境文件(如 .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+ 支持),感兴趣可自行研究。