В SSR, настроенном на основе Express, Webpack и React, это мой стартовый скрипт:
"build": "webpack",
"server": "node index.js",
"start": "npm-run-all --parallel build server",
Все работает нормально, однако, когда я делаю какие-либо изменения в разработке, мне приходится останавливать и снова запускать сервер, что не идеально.
Я пытался настроить горячую перезагрузку с помощью React Hot Loader 4.8.0, вот изменения, которые я сделал:
Конфигурация Babel:
"plugins": ["react-hot-loader/babel"]
package.json:
"react-hot-loader": "^4.8.0",
App.js:
import { hot } from "react-hot-loader";
...
export default hot(module)(App);
webpack.config.js:
entry: ["webpack/hot/dev-server", "./client.js"],
...
module: {
rules: [
{
test: /\.js?$/,
include: /node_modules/,
use: ["react-hot-loader/webpack"],
},
...
Это скрипт запуска клиента:
"start:client": "webpack-dev-server",
При использовании только клиента горячая перезагрузка работает нормально, но не имеет SSR.
Поэтому мне интересно, можно ли использовать React Hot Loader с SSR или мне следует использовать только клиент для разработки.
Также, если есть лучший подход, кроме React Hot Loader, или кто-то знает воспроизводимое хранилище, заставляющее SSR работать с Hot Reloading, пожалуйста, дайте мне знать. Я пробовал SSR пример из репозитория React Hot Loader, но не смог заставить его работать.