2017-06-22 23 views
0

例如我有这个代码,用这个代码我可以在任何文件中只替换字符串,但是我需要类似的东西来替换变量的值。如何从gruntfile替换test.js文件中的变量?

​​
+0

“我需要类似的东西,但对于变量” =>什么是你想用这个做什么?重命名变量...? – krillgar

+0

不,我需要替换变量的值 – John

+0

你能举一个你想要做什么的例子吗?这将有助于你为什么不能将它作为你的函数的一个参数,在Grunt完成你的代码后你将无法配置它。 – krillgar

回答

0

我100%确定你要达到的目标。您可以替换下面的变量赋值,以便它们获得新的值。这是你想要做什么?

'string-replace': { 

    dist:{ 
    files: [{ 
     expand: true, 
     src: 'test.js' 

    }], 
    options: { 
     replacements: [{ 
     pattern: 'var myVar = oldValue', //replace var assignment 
     replacement: 'var myVar = newValue'//var has newValue now 

     }],  
    } 
    } 

UPDATE 您可以在运行时只能访问myVar的电流值。你不能用咕噜声来确定。但是,您可以将myVar设置为您想要的任何值,如上所述。或者,例如,如果你有类似的代码:

if(myVar) 
{ 
    //do this block 
} 

你可以做的文本替换插入

var tmp = myVar 
myVar = true; 
if(myVar){ 
//will now always run 
} 
myVar=tmp // resetState 
+0

谢谢你的回答。是的,但是我们可以说我们的问题不知道myVar的价值,我们只知道变量的名称,它是myVar,那么我们怎么能像你写的一样来做到这一点? – John

+0

@John查看更新 – Revive

+0

我们可以像我将这个变量设置为全局那么我可以很容易地将这个值 – John