Ваш файл конфигурации Webpack javascript. Таким образом, вы можете добавить некоторые вспомогательные функции для абстрагирования процесса и в конечном итоге просто подключить массив страниц, который даст желаемый эффект:
const htmlWebpackPlugin = require('html-webpack-plugin');
const generateHtmlPlugin = (title) => {
return new htmlWebpackPlugin({
title,
filename: 'index.html',
template: `./src/pages/${title.toLowerCase()}/index.html`,
});
}
const populateHtmlPlugins = (pagesArray) => {
res = [];
pagesArray.forEach(page => {
res.push(generateHtmlPlugin(page));
})
return res;
}
Так что это не слишком много кода, и он позволит вам просто вставьте массив нужных вам страниц при настройке веб-пакета:
const pages = populateHtmlPlugins(["About", "Articles", "Users", "Contact"]);
module.exports = {
//...
plugins: pages
}
Еще лучше, вы можете создать папку utils
и рефакторинг кода в два экспортируемых модуля, а затем просто импортировать populateHtmlPlugins()
в ваш файл конфигурации webpack и оставайтесь очень чистыми.
Теперь вы можете создать столько страниц, сколько захотите.