Я починаю працювати з webpack
з node/express
навколишнім середовищем розробляє ReactJS
боку сервера винесеним додатком з react-router
. Я дуже заплутаний щодо ролі кожного пакета webpack для середовищ dev та prod (runtime).
Ось короткий зміст мого розуміння:
webpack
: Це пакет, інструмент для об’єднання різних частин веб-програми та об’єднання в один файл .js (зазвичай bundle.js
). Потім файл результатів подається у середовищі prod для завантаження додатком і містить усі необхідні компоненти для запуску коду. Особливості включають зменшення коду, мініфікацію тощо.
webpack-dev-server
: Це пакет, який пропонує сервер для обробки файлів веб-сайтів. Він також створює один файл .js ( bundle.js
) з клієнтських компонентів, але подає його в пам'ять. Він також має опцію ( -hot
) контролювати всі будівельні файли та створювати новий пакет в пам'яті на випадок зміни коду. Сервер обслуговується безпосередньо у браузері (наприклад:) http:/localhost:8080/webpack-dev-server/whatever
. Поєднання завантаження пам'яті, гарячої обробки та обслуговування браузера дозволяє користувачеві оновлювати додаток у браузері при зміні коду, ідеально підходить для середовища розробки.
Якщо у мене є сумніви щодо вищевказаного тексту, я справді не впевнений у вмісті нижче, тому, будь ласка, повідомте мені, якщо це необхідно
Поширеною проблемою при використанні webpack-dev-server
з node/express
є те, що webpack-dev-server
це сервер, як є node/express
. Це робить це середовище складним для запуску як клієнта, так і деякого вузлового / експрес-коду (API тощо). ПРИМІТКА: Це те, з чим я стикався, але було б чудово зрозуміти, чому це відбувається більш докладно ...
webpack-dev-middleware
: Це проміжне програмне забезпечення з тими ж функціями webpack-dev-server
(зв’язування пам’яті, гаряче перезавантаження), але у форматі, який можна вводити в server/express
додаток. Таким чином, у вас є свого роду сервер ( webpack-dev-server
внутрішній сервер вузла). На жаль: це божевільна мрія ??? Як ця частина може розв’язати рівняння розробників та розробників та спростити життя
webpack-hot-middleware
: Це ... Застряг тут ... знайшов цей шматок при пошуку webpack-dev-middleware
... Не знаю, як ним користуватися.
ПРИМІТКА: Вибачте, є помилкове мислення. Мені дійсно потрібна допомога, щоб не сприймати ці варіанти в складних умовах. Якщо це незрозуміло, додайте більше пакетів / даних, які будуватимуть весь сценарій.
webpack-dev-middleware
(і потенційноwebpack-hot-middleware
), якщо хочете написати свій власний сервер розробки. Якщо немає певної функції, яку ви хочетеwebpack-dev-server
не мати, вам слід просто використовувати її.