我有一个Webpack配置,带有单个入口点和几个用于多页站点的pug模板。我需要配置Webpack,以便它仅监视特定的哈巴狗模板,我将在配置文件中指定该模板。其目的是性能优化。
因此,我有带有页面列表的配置文件pages
:
module.exports = [
'index',
'test'
]
而且我有带有HTMLWebpackPlugin模板的Webpack配置:
const pages = require('./pages')
let plugins = pages.reduce((acc, pageName) => {
let page = new HTMLWebpackPlugin({
template: `./src/pages/${pageName}.pug`,
filename: `${pageName}.html`
})
acc.push(page)
return acc
}, [])
plugins = plugins.concat([
new webpack.DefinePlugin({
pages: JSON.stringify(pages)
})
])
这是我的入口点文件:
if (process.env.NODE_ENV === 'development') {
pages.forEach(page => {
import(`./pages/${page}.pug`)
})
}
如果我从文件test
中删除页面pages
,HTMLWebpackPlugin将不会处理它,但是Webpack将重新构建。
如果我明确指出在我的观点中仅包含index
页,则test
页不会监视Webpack。
我应该如何配置Webpack以仅监视pages
文件中指定的特定模板。
我使用配置创建了一个存储库,因为其中包含一些其他设置。可能很重要。