Sử dụng Gulp # 4.0, tôi thích việc sử dụng gulp.parallel() như:
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')
)
);
Làm việc cho tôi và tôi thích điều đó! Cảm ơn OverZealous đã chỉ đường cho tôi.
Nguồn
2017-03-08 11:06:54
Giải pháp này không hiệu quả đối với tôi. Nó xuất hiện createTask (key) là không đủ. Nếu bạn không rõ ràng gọi gulp.task (key) gulp sẽ không thể tìm thấy tác vụ khi nó thực hiện tác vụ mặc định. Tôi đã kết thúc bằng cách sử dụng câu trả lời của oaleynik. – Chris
làm cách nào tôi có thể chạy tất cả tác vụ không đồng bộ? –