这个居然没人回复?我试了下还是蛮方便的,补充一下 :gulp4和gulp3是不一样的 如果有报错用下面代码
const gulp = require('gulp');
const { exec } = require("child_process");
const connect = require('gulp-connect');
//源码
const entry = 'src/**/*.*';
function compile(cb) {
//执行编译命令 layaair2-cmd compile
let process = exec("layaair2-cmd compile");
process.stdout.on("data", (data) => {
console.log(data);
});
process.stderr.on("data", (data) => {
console.log(data);
});
process.on("exit", (code, signal) => {
console.log("success");
console.log(code, signal);
// 编译结束,触发reload,浏览器会自动刷新
gulp.src(entry).pipe(connect.reload());
cb();
})
}
gulp.task('connect', function () {
connect.server({
root: './bin/',//服务根目录,按需设定,可以设定./
livereload: true,
port: 8081
});
});
//创建一个名称为compile的gulp任务
gulp.task("watch", function () {
/**
* @ 监听src目录下的所有子目录的所有文件,
* @ 延迟1000毫秒,才执行下次监听,避免手欠的同学,因连续保存触发多次连续编译
* @ 监听生效后执行的函数
*/
gulp.watch('src/**/*.*', { delay: 1000 }, compile);
});
// gulp.task('watch');
gulp.task('a', gulp.parallel('watch','connect'));