Utilizzando Gulp # 4.0, mi piace l'uso di gulp.parallel() come ad esempio:
var plugins = require('gulp-load-plugins');
var $ = plugins();
var jsFiles = {
// Libraries required by Foundation
"jquery" : [
"bower_components/jquery/dist/jquery.js",
"bower_components/motion-ui/dist/motion-ui.js",
"bower_components/what-input/dist/what-input.js"
],
"angular" : [
"bower_components/angular/angular.min.js",
"bower_components/angular-animate/angular-animate.min.js",
"bower_components/angular-aria/angular-aria.min.js",
"bower_components/angular-material/angular-material.min.js",
"bower_components/angular-messages/angular-messages.min.js",
"bower_components/angular-sanitize/angular-sanitize.min.js",
"bower_components/angular-ui-i18n/angular-ui-i18n.min.js"
],
// Core Foundation files
"foundation-sites" : [
"bower_components/foundation-sites/dist/js/foundation.js"
],
// Dropzone Library
"dropzone" : [
"bower_components/dropzone/dist/dropzone.js",
"bower_components/ng-dropzone/dist/ng-dropzone.min.js"
]
};
var defaultTasks = Object.keys(jsFiles);
defaultTasks.forEach(function (libName) {
gulp.task('scripts:'+libName, function() {
return gulp.src(jsFiles[libName])
//.pipe($.jshint()) // if you want it
//.pipe($.uglify()) // if you like it
//.pipe($.concat(libName+'.js')) // .min.js if you Uglified it
.pipe(gulp.dest('dist/lib/'+libName));
});
});
gulp.task('bundle_javascript_dependencies',
gulp.parallel(
defaultTasks.map(function(name) { return 'scripts:'+name; })
)
);
gulp.task('build',
gulp.series(
'clean',
gulp.parallel(/* Any other task of function */ 'bundle_javascript_dependencies')
)
);
Lavoro per me e lo adoro! Grazie a OverZealous per avermi mostrato la strada.
fonte
2017-03-08 11:06:54
Questa soluzione non ha funzionato per me. Sembra che createTask (chiave) non sia abbastanza. Se non si richiama esplicitamente gulp.task (chiave) gulp non sarà in grado di trovare l'attività quando esegue l'operazione predefinita. Ho finito per usare la risposta di oaleynik. – Chris
come posso eseguire tutte le attività in modo asincrono? –