Я начинаю работать с 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
... Не знаю, как его использовать.
ENDNOTE: Извините, что вы ошиблись. Мне действительно нужна помощь, чтобы разобраться в этих вариантах в сложной среде. Если это уместно, добавьте больше пакетов / данных, которые построят весь сценарий.
webpack-dev-middleware
(и потенциальноwebpack-hot-middleware
), если бы хотели написать свой собственный сервер разработки. Если у вас нет конкретной функции,webpack-dev-server
которой нет, вам следует просто использовать ее.