Проект не одностраниченое приложения. Навигация между страницами реализована через window.location.href из-за большого количества страниц и тяжело яваскрипта.
Я пытаюсь сконфигурить webpack с CommonsChunkPlugin но никак не могу заставить выдялить его страничный код в отдельные файлы.
У меня есть такие файлы:
client.js - общий js
routes.js - определяет где мы находимся и подключает нужный файл из /routes/
routes/Index.js - роута главной страницы
routes/Search.js - роута страницы поиска
routes/Buying.js - роута страницы покупки
Цель разделить файлы из /routes/ по бандлам. Сейчас вебпак пихает всё в routes.js.
Последний конфиг такой:
getConfig: function(routes) {
return {
cache: false,
output: {
filename: '[name].js'
},
entry: {
client: './source/js/client.js',
routes: './source/js/routes.js',
Index: './source/js/routes/Index.js',
Search: './source/js/routes/Search.js',
Buying: './source/js/routes/Buying.js',
vendor: ['...']
},
module: {
loaders: [...]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js'),
]
}
}
С этим конфигом я получаю ошибку "Error: a dependency to an entry point is not allowed". Я пробовал использовать [ ] как написано тут
https://github.com/webpack/webpack/issues/300 но я всё равно получаю routes.js со всеми роутами (Index, Search, Buying) и отдельные файлы Index, Search, Buying которые почти такие же как и routes.js.
Я пытался читать документацию но до сих пор не могу понять как именно мне надо написать конфиг чтобы достичь цели.