Gulp 吞咽浓缩液:多个外部“;配置";文件,可能吗?

Gulp 吞咽浓缩液:多个外部“;配置";文件,可能吗?,gulp,gulp-concat,Gulp,Gulp Concat,免责声明:新节点、流、吞咽 我想通过前端maven插件更新/改进我们当前的构建过程以使用gulp,我想知道是否可以使用外部配置文件来告诉gulp concat使用哪些文件 目前,我们正在使用一些ruby和json来完成这项工作,它们位于/scripts/config/下,并被输出到一个组合文件夹中。有几十种这样的配置,它们可以一个版本一个版本地增长或收缩 示例配置文件如下所示: { "outputFileName": "foo.js", "dependencies":["blah.js","bl

免责声明:新节点、流、吞咽

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

目前,我们正在使用一些ruby和json来完成这项工作,它们位于/scripts/config/下,并被输出到一个组合文件夹中。有几十种这样的配置,它们可以一个版本一个版本地增长或收缩

示例配置文件如下所示:

{
"outputFileName": "foo.js",
"dependencies":["blah.js","blah.js","blah.js"]
}
我看到的所有示例都是在gulp文件中预定义的硬编码列表。我想我真正想问的是,这个功能是否现成存在,或者我是否需要为此编写一个插件,当然,假设一个插件还不存在


感谢您抽出时间

是的,加载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'));
});

是,加载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'));
});

谢谢,海基,这太棒了。如果我想要它作为一个配置文件列表,我会这样做吗,var config=require('./scripts/config/*.json')?这里有一个例子。太棒了,谢谢你的帮助谢谢Heikki这太棒了。如果我想要它作为一个配置文件列表,我会这样做吗,var config=require('./scripts/config/*.json')?这里有一个例子。太棒了,谢谢你的帮助