【问题标题】:gulp-concat: multiple external "config" files, is it possible?gulp-concat:多个外部“配置”文件,可能吗?
【发布时间】:2014-12-23 03:39:11
【问题描述】:

免责声明:节点、流、gulp 的新手

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

目前我们正在使用 /scripts/config/ 下的一些 ruby​​ 和 json 来执行此操作,并输出到组合文件夹中。有几十个这样的配置,可以逐个发布增加或缩小。

一个示例配置文件如下所示:

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

我看到的所有示例都在 gulp 文件中使用了预定义的硬编码列表。我想我真正要问的是这个功能是否存在开箱即用,或者我是否需要为此编写一个插件,当然假设一个不存在。

感谢您的宝贵时间

【问题讨论】:

    标签: gulp gulp-concat


    【解决方案1】:

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

    【讨论】:

    • 感谢 Heikki,这很棒。如果我想要一个配置文件列表,我会做这样的事情, var config = require('./scripts/config/*.json')?
    • 例如require-dir
    • 太棒了,感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2011-02-26
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多