Javascript 一口溪流中的多个源

Javascript 一口溪流中的多个源,javascript,gulp,concatenation,Javascript,Gulp,Concatenation,我们有三组JavaScript文件,它们需要在构建过程中通过不同的工具运行,然后连接到一个scripts.js文件中 VendorScript-此处无需处理,只需将这些文件与其余文件连接起来即可 foundationScripts-需要通过Babel处理文件 customScripts-需要通过Babel处理文件并使用JShint进行检查 这也是我们需要这些文件输出的顺序 我见过一些使用临时目录的方法,但这样做感觉很“脏”。是否有一种方法可以在一次吞咽任务/功能中实现上述目标 下面是我用4次吞咽

我们有三组JavaScript文件,它们需要在构建过程中通过不同的工具运行,然后连接到一个
scripts.js
文件中

  • VendorScript-此处无需处理,只需将这些文件与其余文件连接起来即可
  • foundationScripts-需要通过Babel处理文件
  • customScripts-需要通过Babel处理文件并使用JShint进行检查
  • 这也是我们需要这些文件输出的顺序

    我见过一些使用临时目录的方法,但这样做感觉很“脏”。是否有一种方法可以在一次吞咽任务/功能中实现上述目标

    下面是我用4次吞咽法设置的。它完成了对每一组文件的正确处理,但是,无法控制输出顺序(VendorScript需要排在第一位)


    您应该考虑为每个子任务ala合并单独的流。您应该考虑为每个子任务ala合并单独的流
    function buildScripts() { 
        return gulp.src(SOURCE.customScripts) // Only use jshint on Custom Scripts
            .pipe(plugin.jshint())
            .pipe(plugin.jshint.reporter('jshint-stylish'))
    
        .pipe(gulp.src(SOURCE.foundationScripts, {passthrough: true})) // Run Foundation Scripts and Custom Scripts through Babel
            .pipe(plugin.babel({
                presets: ['es2015'],
                compact: true
            }))
    
        .pipe(gulp.src(SOURCE.vendorScripts, {passthrough: true})) // Grab extra vendor files, concantonate all together
    
        .pipe(plugin.concat('scripts.js'))
        .pipe(gulp.dest(ASSETS.scripts))    
    }