Node.js 修改javascript文件的Grunt任务

Node.js 修改javascript文件的Grunt任务,node.js,gruntjs,Node.js,Gruntjs,我有以下node.js javascript文件 module.exports = function(){ ... var config1 = ""; var config2 = ""; var config3 = ""; ... } 假设我有下面的咕噜任务 grunt.registerTask('task1', ['...',copy]); grunt.registerTask('task2', ['...',copy]); grunt.registe

我有以下node.js javascript文件

module.exports = function(){
    ...
    var config1 = "";
    var config2 = "";
    var config3 = "";
    ...
}
假设我有下面的咕噜任务

grunt.registerTask('task1', ['...',copy]);
grunt.registerTask('task2', ['...',copy]);
grunt.registerTask('task3', ['...',copy]);
根据我正在运行的任务,config1、config2、config3变量值应该更改

例如:

grunt task1
应该产生

module.exports = function(){
    ...
    var config1 = "A";
    var config2 = "B";
    var config3 = "C";
    ...
}
module.exports = function(){
    ...
    var config1 = "X";
    var config2 = "Y";
    var config3 = "Z";
    ...
}
当 咕噜任务2

应该产生

module.exports = function(){
    ...
    var config1 = "A";
    var config2 = "B";
    var config3 = "C";
    ...
}
module.exports = function(){
    ...
    var config1 = "X";
    var config2 = "Y";
    var config3 = "Z";
    ...
}

有没有grunt插件可以做到这一点或类似的功能?

对于这样简单的东西,我只使用grunt替换。给它一个正则表达式来查找每一行,给它一个字符串来用您想要的输出替换该行。这实际上并没有解析您的代码,所以如果您以后进行重构,正则表达式将需要更改。

那么您基本上想要更改原始Javascript文件吗?如果有一个咕噜模块在那里,这应该是什么样子?您的值应该在哪里有占位符?这将最终导致语法错误的Javascript文件。