Раньше я использовал gulp-nunjucks для шаблонов - контент расширяет макет и включает в себя частичные . Итак, я попытался повторить это с html-webpack-plugin
webpack.config.js
const pages = ['home', 'page1'];
const pagesToHTMLPlugin = function(arr) {
return arr.map(function(page) {
return new HtmlWebpackPlugin({
page: page,
template: path.resolve(__dirname, 'src/_layout.html'),
filename: page + '.html',
inject: 'body'
});
});
};
let plugins = pagesToHTMLPlugin(pages).concat(new MiniCssExtractPlugin({ filename: 'main.css' }));
module.exports = {
//...
plugins: plugins
}
at _layout.html Я успешно требую, чтобы страницы партиалов обрабатывались с необходимыми html-файлами.
//...
<body>
<%= require('html-loader!./partials/header.html') %>
<%= require('html-loader!./pages/' + htmlWebpackPlugin.options.page + '.html') %>
</body>
все же тот же подход не работает, если я пытаюсь потребовать частичное внутри уже необходимого частичного в _layout.html - require('html-loader!./pages/' + htmlWebpackPlugin.options.page + '.html')
.
/ страницы / home.html
<%= require('html-loader!./partials/test-partial.html') %>
Есть ли способ потребовать html-wepback-plugin
частичное в другом частичном? Нужно ли применять какой-либо загрузчик, чтобы включить его?