gulp.series 顺序执行,gulp.parallel 用于并行执行。
'use strict' var fs = require('fs'); var gulp = require('gulp'); // gulp 自身 var uglify = require('gulp-uglify'); // 引入压缩组件 var concat = require('gulp-concat'); // 引入合并组件 var path = require('path'); // 文件路径 let workSpace = "./"; gulp.task("pendJs", function(done) { let mainFilePath = path.join(workSpace, "js/main.js”); // 读取文件内容 let fileInfo = fs.readFileSync(mainFilePath, "utf-8"); if (fileInfo) { fileInfo += "\n"; var timeTemp = Date.parse(new Date()); fileInfo += `window.currTimestamp = ${timeTemp};` let destFile = path.join(workSpace, "txt"); // 文件是否存在 if (fs.existsSync(destFile)) { console.log("exists file path"); } else { console.log("not exists file path"); // mkdir。 fs.mkdirSync(destFile) } // 写入文件 fs.writeFileSync(path.join(destFile , "a.js"), fileInfo, "utf8"); done(); } }) gulp.task("bbb", function(done) { done(); }) // gulp.series 顺序执行 gulp.parallel 用于并行执行 // 先执行”bbb”, 后执行 “pendJs” gulp.task('taskName', gulp.series("bbb" ,"pendJs",function() { return gulp.src('js/*.js') // 找到src 目录下的所有文件夹中的所有 js 文件 .pipe(uglify()) // 压缩 .pipe(concat('all.min.js')) // 输入到压缩文件 .pipe(gulp.dest('./build')) // 制定目录 .on('end', callback) // 结束事件回调 })); // 检查文件的体积 function callback() { var path = './build/all.min.js'; var exists = fs.existsSync(path); if (!exists) { return; } var states = fs.statSync(path); console.log("file size: " + Math.ceil(states.size / 1024) + "kb"); }