const { src,dest,task } = require('gulp');
const cssnano = require('gulp-cssnano');
const cleanCss = require('gulp-clean-css');
const minifyCss = require('gulp-minify-css');
const sass = require('gulp-sass');
const less = require('gulp-less');
const uglify = require('gulp-uglify');
const htmlMin = require('gulp-htmlmin');
const sourcemaps = require('gulp-sourcemaps');
const rename = require('gulp-rename');
const concat = require('gulp-concat');
const request = require('request');
const purifyCss = require('purify-css');
//处理js文件
async function js(){
await src('./src/js/*.js')
.pipe(sourcemaps.init())
.pipe(concat('all.js'))
.pipe(uglify({
parse: {
html5_comments: true //支持再JS文件中存在html5的注释形式
},
compress: {
assignments:true, //对赋值表达式应用优化,只出现一次var定义
drop_console:false, //压缩后删除console对象,默认为false
booleans:true, //布尔上下文运算的优化
// !!a?1:0 ===> a?1:0
directives:true, //删除代码冗余或非标准代码
join_vars:true, //压缩后连接定义的语句仅用一个var
loops:true, //静态情况下对确定循环次数的循环进行优化
},
mangle: {
properties: {
reserved: [] //不要损坏保留数组中列出的属性名
}
},
output: {
ascii_only:false, //在字符串和regexp中转义Unicode字符(影响非ascii字符无效的指令
beautify:true, //美化输出
},
sourceMap: {
content: "content from compiled.js.map",
filename : 'out.js',
url: 'out.js.map'
},
nameCache: null,
toplevel: false, //忽略定义,直接将数据代替变量
ie8: false, //false表示不支持ie8
warnings: false, //通过true返回压缩后的警告结果
}))
.pipe(rename({
suffix:'.min',
}))
.pipe(sourcemaps.write('.'))
.pipe(dest('./dist/js/'))
}
Gulp学习--JavaScript文件压缩(未解决gulp4.x版本ES6不兼容问题)以及部分参数详解
最新推荐文章于 2022-04-26 13:00:26 发布