grunt-string-replace
デプロイ中に、開発環境の URL をすべて本番環境の URL に置き換えるために、Grunt を使用しています。と を変数として保存しており、devRoot
それらstageRoot
を使用して置換を適用したいと考えています。
私は2つの異なるアプローチを試みました:
パターンとして RegExp を使用すると完全に機能しますが、RegExp 内で文字列補間を使用できないため
devRoot
、パターンに my を動的に追加することはできません。そのため、RegExp をオブジェクト プロパティに直接割り当てたり、RegExp を返す関数を割り当てたりしましたが、まったく機能しませんでした。私の置換はかなり簡単なので、最初のアプローチをやめて、次のように文字列で置換を使用することにしました。
'string-replace': { rootUrl: { options: { replacements: [{ pattern: '<%= devRoot %>', replacement: '<%= stageRoot %>' }] } } }
これは機能しますが、私のパターンの最初の出現だけを置き換えます。私の質問は次のとおりです。大文字と小文字を区別しないグローバルな置換を部分文字列で行う方法はありますか? RegExpgi
オプションの機能と同様です。
別の方法:補間された RegExp をこのオブジェクト プロパティに渡すにはどうすればよいですか?