9

次のような index.html の変数を置き換えようとしています。

<meta name='author' content=$variable>

私が使用する設定ファイルでは:

  {
    test: /index\.html$/,
    loader: 'string-replace',
    query: {
      search: '$variable',
      replace: 'stuff to inject',
    },
  }

loaders配列で、次にplugins:

new HtmlWebpackPlugin({
  template: conf.path.src('src/index.html'),
  inject: true,
})

ただし、この設定により、次の結果が得られます。

ERROR in ./~/html-webpack-plugin/lib/loader.js!./src/index.html Module parse failed (...) Unexpected token (1:0) You may need an appropriate loader to handle this file type.

これが原因である可能性があるか、またはこれをどのようにデバッグできますか?

4

3 に答える 3

3

Konstantin の答えは正常に機能し、1 つの値を置き換えたい場合に適しています。複数の値を置き換えたかったので、loaders配列に以下を追加しました

  {
    test: /\.html$/,
    loader: 'raw'
  },
  {
    test: /\.html$/,
    loader: 'string-replace',
    query: {
      multiple: [
        {search: '$variable1', replace: 'replacement 1'},
        {search: '$variable2', replace: 'replacement 2'}
      ]
    }
  }

raw重要な変更点は、最初にローダーを介して html ファイルを実行することです。その後、 string-replace-loader.

于 2016-10-28T10:47:25.467 に答える