Grunt任务的动态配置

时间:2014-09-29 13:22:01

标签: gruntjs

我试图根据被调用的任务更改布尔值。

例如,在grunt.initConfig块内给出此任务定义:

myTask:{
  options:{
    someConfig:doTheAction
  },
  build:{...}
}

doTheAction var定义在grunt.initConfig块之上。 (例如var doTheAction=true;)。

我想做的是:

grunt.registerTask('prod','Production',function()
{
    doTheAction=true;
    grunt.task.run('default');
});
grunt.registerTask('prod','Production',function()
{
    doTheAction=false;
    grunt.task.run('default');
});

问题在于,当doTheAction更改值时,myTask的选项someConfig将设置为该变量的初始值。

如何根据所调用的任务进行someConfig更改?

1 个答案:

答案 0 :(得分:1)

以下是我使用grunt.config

的方式
var taskConfig = {
    pkg: {
        var1: null
    },
    myTask:{
        options:{
            someConfig     : '<%= pkg.var1%>',
            someOtherConfig: grunt.config.get('pkg.var1') //alternative
        },
        build:{...}
    }
}

grunt.registerTask('prod','Production',function()
{
    grunt.config.set('pkg.var1', true);
    grunt.task.run('default');
});
grunt.registerTask('prod','Production',function()
{
    grunt.config.set('pkg.var1', false);
    grunt.task.run('default');
});

希望这有帮助