Реактивная горячая перезагрузка + Webpack без Express или Webpack-Dev-Server - PullRequest
0 голосов
/ 22 октября 2019

У меня есть клиент-серверная архитектура с приложением React + Redux, которое использует Webpack для объединения кода в папку dist, и сервер go, который обслуживает эти файлы, и я пытаюсь реализовать ответную горячую перезагрузку в этой конфигурации,Клиент связывается с сервером go с помощью вызовов API и веб-сокетов.

Все примеры и руководства, которые я видел, говорили о сервере Express или сервере Webpack-Dev-Server в качестве предварительного условия для реализации горячей перезагрузки, например: https://www.javascriptstuff.com/webpack-hmr-tutorial/

https://thoughtbot.com/blog/setting-up-webpack-for-react-and-hot-module-replacement

Есть ли способ реализовать горячую перезагрузку в такой конфигурации? Единственное решение, которое я мог придумать, - это использовать сервер Express или сервер Webpack-Dev-Server в процессе разработки и перенаправлять вызовы API и веб-сокеты на сервер, но это кажется излишним.

1 Ответ

0 голосов
/ 22 октября 2019

Есть 2 распространенных подводных камня, связанных с этими проблемами:1. Запуск webpack-dev-server в производстве. 2. Получение нарушений безопасности CORS, когда пакеты скриптов React загружаются с одного сервера, а затем код в пакетах пытается вызвать API другого сервера.

Если клиент получает все, включая пакеты скриптов и ответы APIиз Express тогда нет места для CORS.

Чтобы упростить горячую перезагрузку в разработке, Express должен получить пакеты от webpack-dev-server и затем передать их клиенту. Это не излишество, это должна быть норма, которая экономит много времени на разработку. Наконец, в производство Express следует получать пакеты с диска.

...