2017-12-12 8 views
0

簡単なことを行うwebpackプラグインを作成しようとしていますが、webpackがすべてをコンパイルする前にファイル内の文字列を置き換え、コンパイル後にその文字列を戻します。コンパイル前後のファイルを修正するWebpackプラグイン

構成は次のようになります。WebPACKのすべてをコンパイルした後、

{ 
    files: ['myFile.js'], 
    replace: 'myString' 
} 

基本的に私はWebPACKのはmyStringを表示したくないので、私はいくつかのユニークな文字列に置き換えると、再度myStringを置きます。 this answerという名前のプラグイン/ローダーは、私の使用例に適合しません。

私は各ファイルを分析する必要がないので、どのファイルを変更する必要があるか分かっているので、ローダーは必要ないと思います。

私はプラグインに関するドキュメントを読んだことがありますが、まだまだ失われているし、おそらく非常に非効率なプラグインです。多分プラグインの経験がある人が私を導くことができます。

答えて

0

リンクされた回答でstring-replace-webpack-pluginが表示されませんでした。これを使用して、展開する環境に応じて変更が必要な文字列を置き換えます。 testキーを使用して、変更する文字列を含むファイル名に制限することができます。彼らのREADMEから

例:

{ 
    pattern: /_GOOGLE_ID_//ig, 
    replacement: function (match, p1, offset, string) { 
     return 'my-actual-google-id-for-this-env'; 
    } 
} 

loaders: [ 
    // configure replacements for file patterns 
    { 
     test: /index.html$/, 
     loader: StringReplacePlugin.replace({ 
      replacements: [ 
       { 
        pattern: /<!-- @secret (\w*?) -->/ig, 
        replacement: function (match, p1, offset, string) { 
         return secrets.web[p1]; 
        } 
       } 
      ]}) 
     } 
] 

私たちはのような単純な何かを