gulp自動添加版本號過程當中的一些要點記錄

一、打開node_modules\gulp-rev\index.jsnode

第144行 manifest[originalFile] = revisionedFile;
更新爲: manifest[originalFile] = originalFile + '?v=' + file.revHash;

 

二、打開node_modules\gulp-rev\nodemodules\rev-path\index.jsjson

10行 return filename + '-' + hash + ext;
更新爲: return filename + ext;

 

三、打開node_modules\gulp-rev-collector\index.jsgulp

31行 if ( path.basename(json[key]).replace(new RegExp( opts.revSuffix ), '' ) !== path.basename(key) ) {
更新爲: if ( path.basename(json[key]).split('?')[0] !== path.basename(key) ) {

 

四、gulp替換aspx文件的連接時,發生亂碼,解決以下:this

打開node_modules\gulp-rev-collector\index.js,全局搜索mutables.forEach(,將其代碼修改成:spa

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);
相關文章
相關標籤/搜索