Я начинаю работать с webpack
со webpack
node/express
разрабатывая визуализированное приложение на стороне сервера ReactJS
с ReactJS
react-router
. Меня очень смущает роль каждого пакета веб-пакетов для сред разработки и разработки (среды выполнения).
Вот краткое изложение моего понимания:
webpack
: пакет, инструмент для объединения различных частей веб-приложения и bundle.js
в один файл .js (обычно bundle.js
). Затем файл результатов подается в среду prod для загрузки приложением и содержит все необходимые компоненты для запуска кода. Возможности включают сжатие кода, минимизацию и т.д.
webpack-dev-server
: пакет, предлагающий сервер для обработки файлов сайта. Он также создает отдельный файл .js(bundle.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-dev-server
узла. Ой: это безумный сон??? Как этот кусок может решить уравнение разработки и разработки и сделать жизнь проще
webpack-hot-middleware
: Это... Застрял здесь... нашел этот кусок при поиске webpack-dev-middleware
... Не знаю, как его использовать.
ENDNOTE: Извините, есть неправильное мышление. Мне действительно нужна помощь, чтобы понять эти варианты в сложной среде. Если это удобно, пожалуйста, добавьте больше пакетов/данных, которые будут строить весь сценарий.