gulp自动添加版本号过程中的一些要点记录
1、打开node_modules\gulp-rev\index.js
第144行 manifest[originalFile] = revisionedFile;
更新为: manifest[originalFile] = originalFile + '?v=' + file.revHash;
2、打开node_modules\gulp-rev\nodemodules\rev-path\index.js
10行 return filename + '-' + hash + ext; 更新为: return filename + ext;
3、打开node_modules\gulp-rev-collector\index.js
31行 if ( path.basename(json[key]).replace(new RegExp( opts.revSuffix ), '' ) !== path.basename(key) ) { 更新为: if ( path.basename(json[key]).split('?')[0] !== path.basename(key) ) {
4、gulp替换aspx文件的链接时,发生乱码,解决如下:
打开node_modules\gulp-rev-collector\index.js,全局搜索mutables.forEach(,将其代码修改为:
mutables.forEach(function (file) { if (!file.isNull()) { var src = file.contents.toString('utf8'); changes.forEach(function (r) { src = src.replace(r.regexp, r.replacement); }); //src = "EF BB BF" + src; var content = new Buffer(src, "utf8"); //加一步判断操作,判断是否是带bom的文件 var bomTag = ["239", "187", "191"]; if(!(content[0].toString(16).toLowerCase() == "ef" && content[1].toString(16).toLowerCase()=="bb" && content[3].toString(16).toLowerCase()=="bf")){ content = Buffer.concat([new Buffer(bomTag), content], content.length + 3); } file.contents = content; } this.push(file); }, this);