Gruntjs:根据目标加载配置文件

时间:2013-07-09 22:16:42

标签: gruntjs

我希望能够通过从构建文件传递配置信息来为不同的目标运行相同的构建,例如, grunt build:target1和grunt build:target2 ...

我想我可以访问grunt文件中的目标

module.exports = function ( grunt ) {
  var userConfig = require( **'./'+grunt.task.current.name+'build.config.js'** );
  var taskConfig...
  grunt.initConfig( grunt.util._.extend( userConfig, taskConfig ) );

但目标仅在任务中可用。

还有另一种方法可以完成这样的事情吗?

1 个答案:

答案 0 :(得分:0)

您可以通过使用两个破折号传递命令行参数到Grunt,例如 --[your_arg_name]=[arg_value]

示例:

grunt --target=debug

然后通过调用

在Grunt配置文件中检索此值
module.exports = function (grunt) {
    var target = grunt.option('target'),
        userConfig = require('./' + target + "build.config.js");
        ...
}

您可以选择自己喜欢的名称,我在上面的示例中选择了target