免责声明:节点、流、吞咽新手
我想更新/改进我们当前的构建过程,通过前端maven插件使用gulp,我想知道是否可以使用外部配置文件来告诉gulp concat要使用哪些文件?
目前,我们正在使用一些ruby和json来完成这项工作,它们位于/scripts/config/下,并被输出到一个组合文件夹中。有几十种这样的配置,它们可以逐个发布地增长或收缩。
示例配置文件如下所示:
{
"outputFileName": "foo.js",
"dependencies":["blah.js","blah.js","blah.js"]
}
我看到的所有例子都是在gump文件中使用预定义的硬编码列表。我想我真正想问的是,这个功能是否开箱即用,或者我需要为此编写一个插件吗?当然,假设这个插件还不存在。
感谢您抽出时间
是的,加载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'));
});