Использование плагина split chunks со следующей конфигурацией:
{
entry: {
entry1: [entry1.js],
entry2: [entry2.js],
entry3: [entry3.js],
...
}
optimization: {
splitChunks: {
chunks: "all"
}
}
}
Код будет идеально разделен на:
vendors-entry1-entry2-entry3.js // common for all
vendors-entry1-entry3.js // vendors only required by both entry1, entry3
entry1-entry2.js // common code of entry1 and entry2
entry1.js // unique entry code
entry2.js
entry3.js
Вопрос в том, как теперь я использую конкретных поставщиков для каждой записи в моем html (или ejs в моем конкретном случае)?
Используя HtmlWebpackPlugin в соответствии с рекомендациями, просто создайте index.html, который загружает все вышеперечисленное, хотя пример использования явно:
При рендеринге entry1 page - load:
vendors-entry1-entry2-entry3.js
vendors-entry1-entry3.js
entry1-entry2.js
entry1.js
При рендеринге entry2 page - load:
vendors-entry1-entry2-entry3.js
entry1-entry2.js
entry2.js
так далее..