更早之前,我一直在使用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
}
在 _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')
中要求局部内部,则无法使用相同的方法。
/pages/home.html
<%= require('html-loader!./partials/test-partial.html') %>
有没有办法要求html-wepback-plugin
部分在另一个部分中?我应该应用某种加载程序来启用它吗?