从多个流创建单个文件,同时保持流和文件顺序与Gulp

时间:2016-08-05 13:49:12

标签: javascript node.js stream gulp

我有一个Gulp任务,我想将HTML模板编译为javascript(从/views目录开始),将所有其他javascript源添加到此(来自/js目录)并连接所有将它们合并为一个文件。

以正确的顺序连接文件也很重要,这意味着:来自/js的所有文件,然后来自/views的所有编译文件。

我的目标是避免一般性地创建临时文件,因此我寻求的解决方案仅适用于流。

此任务目前无法正确排序输出

var eventstream = require('event-stream');
gulp.task('dist', function()
{
    return eventstream.merge(
        gulp.src(['**/[^_]*.js', '!**/_*/**'], { cwd: 'js' })
    ,
        gulp.src(['**/[^_]*.html', '!**/_*/**'], { cwd: 'views' })
        .pipe(compile_views())
    )
    .pipe(concat('output.js'))
    .pipe(gulp.dest('dist'));
});

尝试了一些来自NPM的流合并模块并没有那么成功,所有这些模块到目前为止都扰乱了我的输出:

  • 多流
  • 流序列
  • 合并流
  • 有序合并流

在合并流之后还尝试使用gulp-order插件,但仍未正确排序。

我是否遗漏了某些东西,或者我做了一件糟糕的事情?我不是那么专业的管道。

任何帮助将不胜感激!

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为streamqueue是您正在寻找的:

*$P{REPORT_DATA_SOURCE}*