2014-10-27 39 views
1

免责声明:新节点,溪流,吞掉gulp-concat:多个外部“配置”文件,可以吗?

我想更新/改进我们当前的构建过程中,通过前端 - Maven的插件使用一口,我想知道是否可以使用外部配置文件告诉gulp concat要使用哪些文件?

目前我们正在做一些ruby和json,这些ruby和json位于/ scripts/config /下,并且输出到一个组合文件夹。有几十个这样的配置,可以通过发布来增加或减少发布。

比如说配置文件看起来像这样:

我看到
{ 
"outputFileName": "foo.js", 
"dependencies":["blah.js","blah.js","blah.js"] 
} 

所有的例子已经与在一饮而尽文件预定义的硬编码列表。我想我真正要问的是,如果这个功能开箱即用,或者我需要为此编写一个插件,当然假设这个插件尚不存在。

感谢您的时间

回答

5

是,加载JSON是普通节点:

加载多个文件
var gulp = require('gulp'); 
var concat = require('gulp-concat'); 
var config = require('./scripts/config/something.json'); 

gulp.task('scripts', function() { 
    return gulp.src(config.dependencies) 
     .pipe(concat(config.outputFileName)) 
     .pipe(gulp.dest('somewhere')); 
}); 

例子:

var gulp  = require('gulp'); 
var concat  = require('gulp-concat'); 
var requireDir = require('require-dir'); 
var config  = requireDir('./scripts/config'); 

gulp.task('scripts', function() { 
    return gulp.src(config.something.dependencies) 
     .pipe(concat(config.something.outputFileName)) 
     .pipe(gulp.dest('somewhere')); 
}); 
+0

由于科瓦莱宁这是伟大的。如果我想要它的配置文件列表,我会做这样的事情,var config = require('./ scripts/config/*。json')? – iamw00t 2014-10-28 18:15:05

+0

那里有例如[require-dir](https://github.com/aseemk/requireDir)。 – Heikki 2014-10-28 19:33:20

+0

如果您觉得合适,请记住接受答案。 – Heikki 2014-10-28 19:41:07

相关问题