1

有一个父文件夹(gulp 模块),其中有一些子文件夹(也有 gulp 模块)。我想通过父级的 gulpfile 运行每个子级的默认 gulp 任务。

我的方法是通过使用遍历文件夹,gulp-foldersgulp通过gulp-shell将当前工作目录设置为相应的子目录来运行。

var tOptions = {};
[...]

gulp.task('setup-modules', folders('./', function(folder){
    tOptions.cwd = folder;
    gulp.start('setup-module');
    return gulp.src('', {read: false});
}));

gulp.task('setup-module', shell.task([
    'gulp'
], tOptions));

似乎只有一个任务实例setup-module开始了。我需要更改什么才能运行任务的多个实例(对于每个子文件夹)?

4

1 回答 1

2

gulp-shell您可以使用gulp-chug并传递一个 glob 来访问您的子 gulpfile,而不是使用,gulp.src()而无需遍历每个子目录。如果您运行除default.

此外,gulp-chug它将做所有事情,因此无需依赖一个包即可完成您想要做的事情。

gulp-chug文档中的一个示例几乎涵盖了您正在讨论的确切场景。

gulpfile.js(父级)

// This example was taken from the gulp-chug docs

var gulp = require( 'gulp' );
var chug = require( 'gulp-chug' );

gulp.task( 'default', function () {

    // Find and run all gulpfiles under all subdirectories 
    gulp.src( './**/gulpfile.js' )
        .pipe( chug() )
} );
于 2016-05-25T18:54:48.813 回答