выложу дальнейший анализ.
Прямо сейчас я запускаю webpack-dev-server, который позволяет мне обслуживать и перезагружать клиентское приложение на localhost: 3000
Я также запускаю экспресс-сервер на localhost: 8080 и подключаю его к клиенту, используя атрибут proxy
devServer
Если я изменяю код в клиентском приложении, запускается только горячая перезагрузка
Если я изменяю код на Express API, только сервер API перезапускается
Исходя из того, что я понимаю, из-за того, что SSR и «горячая перезагрузка» соединены вместе, так это то, что теперь веб-пакет должен быть скомпилирован на экспресс-сервере, и я добавил dev-сервер и промежуточное ПО для «горячей» перезагрузки.
Но если я сделаю это каждый раз, когда я изменяю код api nodemon, то перезапускаю сервер, а затем webpack скомпилирует код клиента, но мне это не нужно, так как я изменил только api.
То, что я должен сделать, это оставить все как есть для части разработки (потому что мне не нужен SSR для dev), но добавить производственный код, который будет выполняться, только если NODE_ENV=production
, добавить шаблон, выделенный обслуживать HTML для производства со всей логикой renderToString
Как это звучит?