为 gulp 任务列表添加先决条件
Adding a prerequisite for a list of gulp tasks
以下任务将 运行 并行(这很好):
gulp.task('default', ['build', 'lint', 'test']);
但我想要先决条件任务 'clean'
到 运行 在它们开始之前。如何在不修改每个子任务的情况下实现这一目标?
默认情况下,出于速度原因,任务将尝试并行 运行。如果您确实需要先 运行 完成某些操作(例如 clean),那么您需要使用 运行Sequence。我将在这里制作一些示例代码:
var gulp = require('gulp'),
runSequence = require('run-sequence');
function runAllTasks(cb) {
runSequence('pretasks', 'posttask', cb);
}
gulp.task('pretasks', ['clean']);
gulp.task('posttask', ['build', 'lint', 'test']);
gulp.task('default', runAllTasks);
以上或多或少的表达了你需要做的事情。使用 运行 顺序 运行 清理(或任何其他可以 运行 并行清理)first。然后,清洁后执行所有操作。为此顺序模型分配默认值。
当然,运行为了性能,尽量避免顺序ning!
编辑:
我想补充一下,因为我看了你的代码....
您可能会构建 然后 serve/test。您不希望在仍在四处移动文件、连接脚本等时启动 运行 服务器或测试 运行ner....
以下任务将 运行 并行(这很好):
gulp.task('default', ['build', 'lint', 'test']);
但我想要先决条件任务 'clean'
到 运行 在它们开始之前。如何在不修改每个子任务的情况下实现这一目标?
默认情况下,出于速度原因,任务将尝试并行 运行。如果您确实需要先 运行 完成某些操作(例如 clean),那么您需要使用 运行Sequence。我将在这里制作一些示例代码:
var gulp = require('gulp'),
runSequence = require('run-sequence');
function runAllTasks(cb) {
runSequence('pretasks', 'posttask', cb);
}
gulp.task('pretasks', ['clean']);
gulp.task('posttask', ['build', 'lint', 'test']);
gulp.task('default', runAllTasks);
以上或多或少的表达了你需要做的事情。使用 运行 顺序 运行 清理(或任何其他可以 运行 并行清理)first。然后,清洁后执行所有操作。为此顺序模型分配默认值。
当然,运行为了性能,尽量避免顺序ning!
编辑:
我想补充一下,因为我看了你的代码....
您可能会构建 然后 serve/test。您不希望在仍在四处移动文件、连接脚本等时启动 运行 服务器或测试 运行ner....