NODE_ENV=staging
VUE_APP_TITLE=staging mode
VUE_APP_NAME=project
.env 文件会被所有环境加载,即公共配置,那么最终我们运行 vue-cli-service serve 打印出来的是哪个呢?答案是 stage
如果是 .env.stage.local 文件中配置成上方这样,答案便是 staging
.env.[mode].local 会覆盖 .env.[mode] 下的相同配置。同理 .env.local 会覆盖 .env 下的相同配置。
相同配置项的权重:
.env.[mode].local > .env.[mode] > .env.local > .env
除了相同配置项权重大的覆盖小的,不同配置项它们会进行合并操作
ue 的前端代码中打印出的 process.env 与 vue.config.js 中输出的可能是不一样的,这需要普及一个知识点:webpack 通过 DefinePlugin 内置插件将 process.env 注入到客户端代码中。