Я настраиваю 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 и проверьте новый добавленный нами тег;
большое спасибо!пожалуйста