如何配置Webpack只观看特定的哈巴狗模板

时间:2019-07-04 06:54:44

标签: javascript node.js webpack

我有一个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文件中指定的特定模板。

我使用配置创建了一个存储库,因为其中包含一些其他设置。可能很重要。

0 个答案:

没有答案