gulp多次执行任务

时间:2014-09-24 06:42:28

标签: gulp

我的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 devgulp watchgulp static,一切正常。但是,如果我只运行gulp(默认值),它会执行static任务 5 次。任何人都可以帮我解决为什么会这样吗?

P.S。传递给观察的路径是这样的,因为如果我不将目录作为单独的路径排除,它似乎是出于某种原因复制空目录jsscss

1 个答案:

答案 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捆绑更多任务