如何更改grunt变量的值(<%= var%>) 在运行任务之前?
我有以下代码,但它似乎没有处理json并用新值交换占位符(<%= var%>)。
module.exports = function(grunt) {
var modules = ['a','b','c'];
grunt.initConfig({
module: module,
som_task: {
blah: {
files: 'test/<%= module %>',['<%= module %>']
}
}
});
grunt.registerTask('release-all', 'abc', function() {
for (var module in modules) {
grunt.task.run(['setModule:'+module,'release']);
}
});
grunt.registerTask('setModule', 'change the variable in the ', function(module) {
grunt.config('module',module);
});
}
答案 0 :(得分:0)
我找到了答案。我创建了一个函数,用另一个变量返回配置对象,然后在运行我的任务之前重新启动它。
function getConfig(value) {
return {
"value":value,
...
};
}
grunt.registerTask('change', 'Swap Value', function(passValue) {
grunt.initConfig(getConfig(passValue));
});
//set the default
grunt.initConfig(getConfig("initialValue"));
//run the task and pass in the new value before running your other task
runt.task.run(['change:newValue']);