在使用vue-cli3 的过程中,本地及测试环境使用conlog 的js,但生产环境用不到,挨个删容易出问题,也容易漏删,粗略的看了下vue-cli3 的配置文件,并未找到这类文件预处理的方式,但发现可以用插件的形式处理,因为对插件不是很熟悉,所以使用node js 文件处理的形式 以正则替换的方法,把匹配到的文件全部删除。
这是我打包后的多文件存放地址。
这是我部署生产时执行的命令,很简单,就是打包完之后执行我的替换文件,将匹配到的html的内容全部替换
底下是主要代码,替换并处理html.
var fs = require( 'fs' );
const glob = require('glob');
/**
* html文件替换
* @param src
* @param dst
*/
var callbackFile = function( src ){
fs.readFile(src,'utf8',function(error,data){
if(error){
console.log(error);
return false;
}
let regJs = new RegExp(/<!--\[if !\(IE 5.5\)]><!-->[\s\S]*<!--<!\[endif]-->/,'g');
let htmlContent = data.toString().replace(regJs,'');
fs.writeFile(src,htmlContent,'utf8',function(error){
if(error){
console.log('替换错误');
return false;
}
})
})
};
// 复制目录
glob.sync( './dist/*.html').forEach((filepath) => {
let fileNameList = filepath.split('.');
let fileName = fileNameList[1].split('/')[2];// 多页面页面目录
// console.log(fileName)
let thisDirectory = `./dist/${fileName}.html`;// 多页面JS文件地存放址
callbackFile(thisDirectory)
});
glob.sync( './dist/*.html') 这里可以改成你自己的文件路径,
这是源文件,是一个判断是否ie5.5的浏览器判断,之所以这样写,是因为其他的注释方式,vue-cli3 会自动删除,时间原因没有研究怎么处理。还有一个办法就是,写个插件在编译过程中执行替换操作,有大神知道怎么弄,可以留言指导一下。
<!--[if !(IE 5.5)]><!-->
<script src="//www.baidu.comx/page/base/vconsole.min.js"></script>
<!--<![endif]-->
html 源码