Как настроить Webpack для просмотра только определенных pug-шаблонов - PullRequest
0 голосов
/ 04 июля 2019

У меня есть конфигурация Webpack с одной точкой входа и несколькими шаблонами pug для многостраничного сайта.Мне нужно настроить Webpack так, чтобы он смотрел только определенные pug-шаблоны, которые я укажу в конфигурационном файле.Целью этого является оптимизация производительности.Итак, у меня есть файл конфигурации pages со списком страниц:

module.exports = [
  'index',
  'test'
]

И у меня есть конфигурация Webpack с HTMLWebpackPlugin для шаблонов:

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 в мою точку входа, Webpack не будет отслеживаться страницей test.Как настроить Webpack для просмотра только определенных шаблонов, указанных в файле pages.

Я создал репозиторий с моей конфигурацией, поскольку в нем есть некоторые дополнительные настройки.Это может иметь значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...