var gulp = require('gulp'), del = require('del'), minifycss = require('gulp-minify-css'), concat = require('gulp-concat'), uglify = require('gulp-uglify'), rename = require('gulp-rename'), // babel = require('gulp-babel'), jshint = require('gulp-jshint'), //js检测 notify = require('gulp-notify'); //提示信息 // 清空dist目录 gulp.task('clean', function () { return del(['dist/*.js', 'dist/*.css', 'dist/images']) }); var jsAry = [ './scripts/vendor/jquery/jquery.js', './scripts/map23DVersion.js', './scripts/vendor/turf/turf.min.js', ]; var jsNoLibAry = [ './scripts/vendor/jquery/jquery.js', './scripts/map23DVersion.js', './scripts/vendor/turf/turf.min.js' ]; // 检查js gulp.task('lint', function () { return gulp.src(jsAry) .pipe(jshint()) .pipe(jshint.reporter('default')); }); //压缩,合并 js gulp.task('minifyjs', function () { return gulp.src(jsAry) //需要操作的文件 // .pipe(babel()) // 合并之前将es6语法转换为es5E .pipe(concat('skyscenery.js')) //合并所有js到main.js .pipe(gulp.dest('dist')) //输出到文件夹 .pipe(rename({ suffix: '.min' })) //rename压缩后的文件名 .pipe(uglify({ mangle: false, //不混淆变量名 compress: false, preserveComments: false //all 不删除注释,还可以为 false(删除全部注释),some(保留@preserve @license @cc_on等注释) })) //压缩 .on('error', function (err) { // console.log(err) gutil.log(gutil.colors.red('[Error]'), err.toString()); }) .pipe(gulp.dest('dist')); //输出 }); //压缩,合并 js gulp.task('nolib-minifyjs', function () { return gulp.src(jsNoLibAry) //需要操作的文件 // .pipe(babel()) // 合并之前将es6语法转换为es5 .pipe(concat('skyscenery-nolib.js')) //合并所有js到main.js .pipe(gulp.dest('dist')) //输出到文件夹 .pipe(rename({ suffix: '.min' })) //rename压缩后的文件名 .pipe(uglify({ mangle: false, //不混淆变量名 compress: false, preserveComments: false //all 不删除注释,还可以为 false(删除全部注释),some(保留@preserve @license @cc_on等注释) })) //压缩 .pipe(gulp.dest('dist')); //输出 }); //默认命令,在cmd中输入gulp后,执行的就是这个任务(压缩js需要在检查js之后操作) gulp.task('default', gulp.series('clean', 'minifyjs', 'nolib-minifyjs', async () => { await console.log('已完成'); }))