先看效果(非最终效果,因为产品要求在生产环境不展示,生产环境上的配置文件在运维那边,绕了一下弯路,在env文件上不设置名称,这样生产环境会继承env环境变量,不展示)
实现过程:
1.在vue.config.js中设置要打印的文案
-
在.env文件中设置环境变量
-
在index文件中用小胡子语法塞进去
// vue.config.js
const consoleMsg = `当前环境:${process.env.VUE_APP_ENV_NAME} --- 更新打包时间:${new Date().toLocaleString()}`;
module.exports = {
chainWebpack(config) {
config.plugin('html').tap((args) => {
args[0].consoleMsg = process.env.VUE_APP_ENV_NAME ? consoleMsg : '';
return args;
});
},
};
// 环境变量
// 221环境
VUE_APP_ENV_NAME=221
// test环境
VUE_APP_ENV_NAME=test
...
// index文件
// 头部展示
<meta name="time" content="<%= htmlWebpackPlugin.options.consoleMsg %>"/>
// 或者控制台打印
<% if( htmlWebpackPlugin.options.consoleMsg) { %>
<script>console.log("<%= htmlWebpackPlugin.options.consoleMsg %>");</script>
<% } %>