我怎样才能依次运行三个参数?

到目前为止,我有这个代码:

gulp.task('make_prod_aa', function () { makeAppHtml(config.srcAalHtml, function () { runSequence( 'makeTemplate', 'make_css_bundle', 'rename_css_bundle', 'make_js_bundle', 'rename_js_bundle', function () { makeAppIndex('index-aa.html'); }); }); }); 

它允许我将parameter passing给两个函数,并依次运行函数和任务。 现在我想将parameter passing给第三个任务。 我想能够将config.aaTemplatesparameter passing给这里的任务makeTemplate:

 gulp.task('makeTemplate', function () { return gulp.src(config.aaTemplates) .pipe(print(function (file) { return "Added file " + file + " to template"; })) .pipe(minifyHTML({ collapseWhitespace: true })) .pipe(templateCache({ standalone: true, root: '/app' })) .pipe(gulp.dest(config.destPartials)) .pipe(gzip(gzip_options)) .pipe(gulp.dest(config.destPartials)); }); 

将不胜感激任何build议,我怎么能做到这一点。

我不认为有另一种select,而不是使用JS闭包,使所有的任务运行在一个序列共享相同的configuration。 certificate

例如:

 var config = require('path/to/config'); function makAppAppHtml () { runSequence( 'makeTemplate', 'make_css_bundle', 'rename_css_bundle', 'make_js_bundle', 'rename_js_bundle', function () { makeAppIndex('index-aa.html'); }); } function makeTemplate () { return gulp.src(config.aaTemplates) .pipe(print(function (file) { return "Added file " + file + " to template"; })) .pipe(minifyHTML({ collapseWhitespace: true })) .pipe(templateCache({ standalone: true, root: '/app' })) .pipe(gulp.dest(config.destPartials)) .pipe(gzip(gzip_options)) .pipe(gulp.dest(config.destPartials)); }); } gulp.task('make_prod_aa', makAppAppHtml); gulp.task('makeTemplate', makeTemplate); 

makeAppHtmlmakeTemplate都可以访问configuration对象,因为它是在外部作用域中定义的,同样的技巧可以应用到函数作用域中,更详细的示例我推荐JavaScript Garden文章 。