У меня есть конфигурация 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
.
Я создал репозиторий с моей конфигурацией, поскольку в нем есть некоторые дополнительные настройки.Это может иметь значение.