问题如下:
//--------- 原js中注释内容 ---------
/*!
* hex颜色值转成rgba
*/
function hexToRgba(){}
//--------- 输出后js中的注释内容 ---------
/*!
* hex颜色值转成rgba
*/
/*!
* hex颜色值转成rgba
*/
function hexToRgba(){}
在gulp-uglify开发时,遇到了保留注释时,输出文件中会出现双份同样注释内容。其实在执行压缩时,将获取注释内容进行缓存,过滤掉重复的注释内容即可。
这里以正则形式处理这问题,代码如下:
var gulp = require('gulp'),
uglify = require('gulp-uglify')
uglifyCommentCaches = [];
gulp.task('uglifyJs', function(){
//每次执行时,清空原缓存数据
uglifyCommentCaches = [];
gulp.src('assets/js/*.js')
.pipe(uglify({
output: {
comments: function(node, comment){
if(/^!/.test(comment.value)){
//判断缓存注释中,是否已输出同样内容,已输出则不执行再次输出
if(uglifyCommentCaches.indexOf(comment.value)==-1){
uglifyCommentCaches.push(comment.value);
return true;
}
return false;
}
return false;
}
}
}))
.pipe(gulp.dest('dist/js'));
});