UNPKG

eapp

Version:
121 lines (110 loc) 3.52 kB
var gulp = require('gulp'), runSequence = require('run-sequence'), clean = require('gulp-clean') ,gulpHtmlVersion = require('gulp-html-version'); // 重命名 var rename=require('gulp-rename'); // 压缩js; var minify = require('gulp-uglify'); // 解析ES6的js语法 // var babel = require('gulp-babel'); //合并文件 var concat = require('gulp-concat'); // 压缩css; var minifyCss = require('gulp-minify-css'); // 提示 var notify = require('gulp-notify'); // 编译前根文件夹 var sourceFolder = 'Eapp-¥{{dirName}}¥/eapp_lib'; // 编译后根文件夹 var targetFolder = 'Eapp-¥{{dirName}}¥/eapp_lib'; /** * 清理dist目录 */ gulp.task('clean', function () { return gulp.src(targetFolder, {read: false}).pipe(clean()); }); /*=====================copy其他静态资源文件==========================*/ gulp.task('copy', function() { return gulp.src([sourceFolder + '/**/*']) .pipe(gulp.dest(targetFolder)) }); /*=====================合并js==========================*/ gulp.task('concatIbox',function(){ return gulp.src([targetFolder + '/IboxEngine.js', targetFolder + '/IEappApi.Base.js', targetFolder + '/IEappApi.js' ]) //选择合并的JS .pipe(concat('/Ibox+IEappApi+Base.js')) //合并js //.pipe(babel({ // presets: ['@babel/env'] //})) //.pipe(minify()) //压缩 //.pipe(rename({suffix:'.min'})) //重命名 .pipe(gulp.dest(targetFolder)) //输出 .pipe(notify({message:"Ibox合并成功!"}))//提示 }); /*=====================合并js==========================*/ gulp.task('concat¥{{fileName}}¥',function(){ return gulp.src([targetFolder + '/I¥{{fileName}}¥.js', targetFolder + '/I¥{{fileName}}¥.Base.js' ]) //选择合并的JS .pipe(concat('/I¥{{fileName}}¥+Base.js')) //合并js .pipe(gulp.dest(targetFolder)) //输出 .pipe(notify({message:"I¥{{fileName}}¥合并成功!"}))//提示 }); /*=====================压缩js==========================*/ gulp.task('js', function(){ return gulp.src([targetFolder + '/**/*.js', '!'+targetFolder+'/**/*.min.js', '!'+targetFolder+'/**/libs/**', '!'+targetFolder+'/**/global/**', '!'+targetFolder+'/**/list/**']) // 匹配 //.pipe(babel({ // "presets":["es2015","stage-0"], // "plugins": ["transform-runtime"] //})) .pipe(minify()) .pipe(rename({suffix:'.min'})) //.pipe(rev()) .pipe(gulp.dest(targetFolder)); }); /*=====================压缩css==========================*/ gulp.task('css', function(){ return gulp.src([targetFolder + '/**/*.css', '!'+targetFolder+'/**/libs/**', '!'+targetFolder+'/**/global/**', '!'+targetFolder+'/**/list/**']) //匹配 .pipe(minifyCss()) .pipe(gulp.dest(targetFolder)); }); gulp.task('revHtml', function () { return gulp.src(targetFolder + '/**/*.html') .pipe(gulpHtmlVersion({ paramName: 'v',// 参数 paramType: 'version', // 生成值类型 guid version timestamp suffix: ['css', 'js', 'jpg', 'png'] // 文件类型 })) .pipe(gulp.dest(targetFolder)); }); // gulp4.0.0版本之前编译 //gulp.task('default', function (done) { // runSequence( // 'clean', // 'copy', // 'js', // 'alljs', // 'css', // 'revHtml', // done); //}); // gulp4.0.0版本编译 gulp.task('default', gulp.series( //'clean', //'copy', 'concatIbox', 'concat¥{{fileName}}¥', 'js' //'css', //'revHtml' ));