2

我希望能够通过从构建文件中传递配置信息来为不同的目标运行相同的构建,例如 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 ) );

但目标仅在任务中可用。

有没有另一种方法来完成这样的事情?

4

1 回答 1

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在上面的例子中选择了。

于 2013-07-12T15:26:05.587 回答