Gruntjs Grunt任务的动态配置

Gruntjs Grunt任务的动态配置,gruntjs,Gruntjs,我正在尝试根据名为的任务更改布尔值 例如,给定grunt.initConfig块中的任务定义: myTask:{ options:{ someConfig:doTheAction }, build:{...} } doTheActionvar在grunt.initConfig块上方定义。(例如,var doTheAction=true;) 我想做的是: grunt.registerTask('prod','Production',function() { doThe

我正在尝试根据名为的任务更改布尔值

例如,给定
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
更改?

以下是如何使用
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');
});
var taskConfig={
包装:{
var1:null
},
我的任务:{
选项:{
someConfig:“”,
someOtherConfig:grunt.config.get('pkg.var1')//可选
},
生成:{…}
}
}
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');
});
希望这有帮助