Tag: gulp concat

一个for循环中的gulpstream不能正常工作

我有一个类似于以下的吞咽任务。 我试图循环,并追加一个string到页面,并连接一个相应的文件。 gulp.task('loop', function() { for(i =0; i < 10; i++) { gulp.src('./build/ross/templates/pages/_page_home.liquid') .pipe(plugins.insert.append('Loop ' + i)) // real example has concat here .pipe(plugins.addSrc('./src/page/_page' + i + '.liquid')) .pipe(plugins.concat('_page_home.liquid')) .pipe(gulp.dest('./build/ross/templates/pages/')); } }); 预期的输出将是类似的 Loop 1 // _page1.liquid contents Loop 2 // _page2.liquid contents Loop 3 // _page3.liquid contents and so on… 实际产出看起来更像 // Original Page […]

仅在Gulp任务中的文件夹中的一部分文件上使用Browserify

通常在使用Browserify时,如果要合并多个文件,请运行以下内容: gulp.task('build-tests', function() { var b = browserify({ entries: ['./lib/some_specs.js', './lib/some_more_specs.js'] }); b.bundle().pipe(source('specs.js')).pipe(gulp.dest('./dist')); }) 我想用dynamic创build的已过滤文件列表来replace条目,这样,每次添加一个我想要浏览的新文件时,就不必更新数组,而是自动执行此操作。 为此,我开始使用gulp-filter从文件夹中select我想要浏览的文件: gulp.src('lib/*.js') .pipe(gulpFilter('*_specs.js')) .pipe(concat('specs.js')) ); 但是因为这返回一个asynchronousstream而不是一个数组,所以你不能使用这个入口。 然后,我想我可以将单独的文件连接成一个虚拟文件,然后将其传递给Browserify。 喜欢这个: gulp.task('build-tests', function() { var b = browserify( gulp.src('lib/*.js') .pipe(gulpFilter('*_specs.js')) .pipe(concat('specs.js')) ); b.bundle().pipe(source('specs.js')).pipe(gulp.dest('./dist')); }) 但是这会抛出一个未处理的错误事件 – 也许是因为源文件在bundle方法运行之前没有被连接起来? 那么这就导致我问,是否有人有任何类似的经验或沿着这些方面的经验? 我很新的吞噬,所以任何指针也将不胜感激。 谢谢。