javascript gulp:从chug子模块返回流

时间:2015-03-23 16:17:02

标签: javascript gulp

我是一个喝酒的菜鸟,所以我想做的事情可能不可能,但我会感激一些帮助。

我们的项目由几个独立的模块组成,我希望能够独立构建,或者作为一个项目共同构建。文件结构如下所示:

project_root/
    gulpfile.js
    src/
        modules/
            module_A/
                gulpfile.js
                ...
            module_B/
                gulpfile.js
                ...
            module_C/
                gulpfile.js

我想将构建工件放在顶层的build/目录中,同时保留src/目录的目录结构,如下所示:

project_root/
    build/
        modules/
            module_A/
                ...
            module_B/
                ...
            module_C/
                ...

为了实现这一点,我尝试使用顶层的gulpfile来发现任何匹配像src/modules/*/gulpfile.js这样的全局文件的文件,然后使用插件{{1}来调用这些文件}。我想从子模块gulp-chug返回一个流,并允许基础构建文件处理到gulpfile.js的管道,以便简单地管理保留文件夹结构。

我必须这样做的代码如下:

dest

// project_root/gulpfile.js
gulp.task('default', function() {
    return gulp.src(path.join(modulesDir, '*', 'gulpfile.js')) // discover subprojects
        .pipe( chug() )                     // call gulpfiles in those subprojects
        .pipe(gulp.dest(buildDir));                            // write the output to the build dir
});

但是,我看到的情况是,我的子模块中的// src/modules/module_x/gulpfile.js gulp.task('default', function() { return gulp.src(path.join(config.sourceDir, '**', '*.js')); // return a stream of source files }); 文件被复制到gulpfile.js目录中,而不是任何其他源文件。

我认为这意味着行build/没有返回我希望从子模块中获取的对象流,但我不明白为什么。

我是否完全误解了这应该如何运作?我应该使用其他一些模式吗?

0 个答案:

没有答案