我正在使用 Grunt,grunt-string-replace
以便在部署期间将所有出现的开发环境 URL 替换为生产环境 URL。我有我的devRoot
和stageRoot
保存为变量,我想用它们来应用替换。
我尝试了两种不同的方法:
使用 RegExp 作为模式效果很好,除了我不能在 RegExp 中使用字符串插值,所以我不能动态地将我添加
devRoot
到模式中。所以我尝试将 RegExp 直接分配给对象属性,甚至分配一个返回 RegExp 的函数,但这根本不起作用。由于我的替换相当简单,我放弃了第一种方法,并决定使用字符串替换,如下所示:
'string-replace': { rootUrl: { options: { replacements: [{ pattern: '<%= devRoot %>', replacement: '<%= stageRoot %>' }] } } }
这有效,但只替换了我的第一次出现的 pattern。所以我的问题是:有没有办法用子字符串进行全局不区分大小写的替换?类似于 RegExpgi
选项的作用。
或者:我如何将插入的 RegExp 传递给这个对象属性?