Какая ситуация вызовет templateParameters не используется - PullRequest
0 голосов
/ 10 мая 2019

Я настраиваю HtmlWebpackPlugin в своих конфигах webpack и хочу использовать опцию templateParameters, чтобы я мог передать ей данные json и использовать ее в своем html-шаблоне, но после сборки ничего не заменилось!

HtmlWebpackPlugin вот так:

new HtmlWebpackPlugin({
  filename: 'index.html',
  template: 'index.html',
  chunks: ['app'],
  inject: true,
  templateParameters: {
    foo: "foo' value",
  },
});

index.html вот так:

<body>

  <div><%= foo %></div>

</body>

также я использую html-загрузчик:

{
  test: /\.html$/,
  use: [
    {
      loader: 'html-loader',
      options: {
        interpolate: 'require',
      },
    },
  ],
},

послеbuild, <% = foo%> нельзя заменить на templateParameters.foo , это должно быть так:

<body>

  <div>foo' value</div>

</body>

не так:

<body>

  <div><%= foo %></div>

</body>

, если вы хотите проверить, используйте эту демонстрацию:

https://github.com/react-boilerplate/react-boilerplate

git clone --depth=1 https://github.com/react-boilerplate/react-boilerplate.git 

npm i

и измените здесь:

https://github.com/react-boilerplate/react-boilerplate/blob/d19099afeff64ecfb09133c06c1cb18c0d40887e/internals/webpack/webpack.prod.babel.js#L70

и добавьте параметр templateParameters

также измените здесь:

https://github.com/react-boilerplate/react-boilerplate/blob/d19099afeff64ecfb09133c06c1cb18c0d40887e/app/index.html#L26

и добавьте HTML-тег, например так:


  <div><%= foo %></div>

и запустите скрипт в демо-каталоге:

npm run build

, после этого откройте build / index.html и проверьте новый добавленный нами тег;

большое спасибо!пожалуйста

...