我的gulpfile中有以下代码片段。
gulp.task('static', function() {
return gulp.src(['./src/**', '!./src/js/**', '!./src/js/', '!./src/scss/', '!./src/scss/**'])
.pipe(gulp.dest(outputDir + '/'))
});
gulp.task('watch', function() {
gulp.watch(['./src/**', '!./src/js/**', '!./src/js/', '!./src/scss/', '!./src/scss/**'], ['static']);
});
gulp.task('dev', ['static']);
gulp.task('default', ['watch', 'dev']);
如果我运行gulp dev
,gulp watch
或gulp static
,一切正常。但是,如果我只运行gulp
(默认值),它会执行static
任务 5 次。任何人都可以帮我解决为什么会这样吗?
P.S。传递给观察的路径是这样的,因为如果我不将目录作为单独的路径排除,它似乎是出于某种原因复制空目录js
和scss
。
答案 0 :(得分:0)
可能是因为你没有返回任务,而你需要它们作为asyc。
请参阅:Gulp.js task, return on src?
和文档(也在上面的SO帖子中链接)https://github.com/gulpjs/gulp/blob/master/docs/API.md#async-task-support
此外,dev
任务在当前形式中看起来多余 - 您也可以直接使用任务static
,除非您打算使用dev
捆绑更多任务