这是一个组合任务,我不知道如何用任务依赖项替换它。
...
gulp.task('watch', function () {
var server = function(){
gulp.run('jasmine');
gulp.run('embed');
};
var client = function(){
gulp.run('scripts');
gulp.run('styles');
gulp.run('copy');
gulp.run('lint');
};
gulp.watch('app/*.js', server);
gulp.watch('spec/nodejs/*.js', server);
gulp.watch('app/backend/*.js', server);
gulp.watch('src/admin/*.js', client);
gulp.watch('src/admin/*.css', client);
gulp.watch('src/geojson-index.json', function(){
gulp.run('copygeojson');
});
});
相应的变更日志https://github.com/gulpjs/gulp/blob/master/CHANGELOG.md#35[不赞成大口大口喝,快跑]
或者你可以这样做:
gulp.start('task1', 'task2');
gulp.task('watch', function () {
var server = ['jasmine', 'embed'];
var client = ['scripts', 'styles', 'copy', 'lint'];
gulp.watch('app/*.js', server);
gulp.watch('spec/nodejs/*.js', server);
gulp.watch('app/backend/*.js', server);
gulp.watch('src/admin/*.js', client);
gulp.watch('src/admin/*.css', client);
gulp.watch('src/geojson-index.json', ['copygeojson']);
});
您不再需要传递函数(尽管您仍然可以)来运行任务。您可以给watch一个任务名称数组,它将为您执行此操作。
来源:https://github.com/gulpjs/gulp/issues/755
gulp.start()
从来就不是一个公共的api,也不是被使用的。如上所述,任务管理将在下一个版本中被替换......所以gulp.start()
将被打破。
gulp设计的真正意图是生成常规Javascript函数,并且只生成调用它们的任务。
例子:
function getJsFiles() {
var sourcePaths = [
'./app/scripts/**/*.js',
'!./app/scripts/**/*.spec.js',
'!./app/scripts/app.js'
];
var sources = gulp.src(sourcePaths, { read: false }).pipe(angularFilesort());
return gulp.src('./app/index.html')
.pipe(injector(sources, { ignorePath: 'app', addRootSlash: false }))
.pipe(gulp.dest('./app'));
}
gulp.task('js', function () {
jsStream = getJsFiles();
});