吞噬调用子模块



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

我的方法是使用 gulp-folders 循环访问文件夹,并通过将当前工作目录设置为相应的子目录来运行gulpgulp-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启动。我需要更改什么才能使任务的多个实例(针对每个子文件夹)运行?

您可以使用gulp-chug并使用 glob gulp.src()来访问子 gulpfile,而无需迭代每个子目录,而不是使用 gulp-shell 来访问您的子 gulpfile。如果要运行除 default 以外的任何任务,您甚至可以指定要运行的任务。

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

gulp-chug文档中的示例之一几乎涵盖了您正在讨论的确切方案。

古尔普文件.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() )
} );

相关内容

  • 没有找到相关文章