我有两个任务。他们有一个共同的任务,应该在任务之前执行。
使用Gulp 3,我以这种方式实现它们:
gulp.task('compile', () => {
// Compiling the TypeScript files to JavaScript and saving them on disk
});
gulp.task('test', ['compile'], () => {
// Running tests with the compiled files
});
gulp.task('minify', ['compile'], () => {
// Minifying the compiled files using Uglify
});
guls.task('default', ['test', 'minify']);
当我运行任务时只运行 1 次gulp default
。compile
在Gulp 4中,我以这种方式实现它们:
gulp.task('compile', () => {
// Compiling the TypeScript files to JavaScript and saving them on disk
});
gulp.task('test', gulp.series('compile', () => {
// Running tests with the compiled files
}));
gulp.task('minify', gulp.series('compile', () => {
// Minifying the compiled files using Uglify
}));
guls.task('default', gulp.parallel('test', 'minify'));
当我运行任务时gulp default
,compile
它会运行 2 次,这是不可取的,因为已经完成了一项备用工作。如何使任务只运行 1 次,保持独立运行test
和minify
任务的能力?