Ich habe diesen Code so weit:Wie kann ich drei Aufgaben mit Parametern nacheinander ausführen?
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');
});
});
});
Es erlaubt mir, Parameter in zwei Funktionen übergeben und führt die Funktionen und die Aufgaben alles in Ordnung. Jetzt möchte ich Parameter in eine dritte Aufgabe übertragen. Ich mag die config.aaTemplates
Parameter, um die Aufgabe können makeTemplate passieren, das hier ist:
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));
});
schätzen würden Vorschläge, wie ich das tun kann.
Wenden Sie genau das gleiche Refactoring an, das ich Ihnen in [diese Antwort] (http://stackoverflow.com/questions/36644578#36651822) für Ihre 'makeTemplate' Aufgabe beschrieben habe. Natürlich, wenn Sie das mit jeder Aufgabe in Ihrer 'runSequence()' tun, werden Sie schließlich am Ende mit vielen verschachtelten Callbacks, aka [Callback-Hölle] (http://stackoverflow.com/questions/25098066/) enden. An diesem Punkt ist es wahrscheinlich am besten, etwas wie [async.waterfall() '] (https://github.com/caolan/async#waterfall) zu betrachten. –