Ich versuche, Aufgaben dynamisch zu erstellen (Minify und Concat) basierend auf jsFiles Objekt. Der Schlüssel gibt den Zieldateinamen an und das Array enthält die Quelldateien. Wenn ich schlucke, sehe ich, dass alle Aufgabennamen laufen, aber es schreibt nur den letzten Schlüssel, der in diesem Fall group2.js ist. Was ist hier falsch?Erstellen von Aufgaben mit einer Schleife [Schluck]
// imports here
var jsFiles =
{
group1:[file1.js,file2.js],
group2:[file2.js,file3.js]
};
for (var key in jsFiles)
{
gulp.task(key, function() {
return gulp.src(jsFiles[key])
.pipe(jshint())
.pipe(uglify())
.pipe(concat(key + '.js')) // <- HERE
.pipe(gulp.dest('public/js'));
});
}
var defaultTasks = [];
for (var key in jsFiles)
{
defaultTasks.push(key);
}
gulp.task('default', defaultTasks);
Diese Lösung hat nicht für mich funktioniert. Es scheint createTask (Schlüssel) ist nicht genug. Wenn Sie gulp.task (key) nicht explizit aufrufen, kann gulp die Aufgabe nicht finden, wenn die Standardaufgabe ausgeführt wird. Ich benutzte Oaleyniks Antwort. – Chris
Wie könnte ich alle Aufgaben asynchron ausführen? –