react热重载不适用于 webpack 4

IT技术 javascript reactjs webpack webpack-dev-server react-hot-loader
2021-05-27 17:30:09

React 热重载不起作用。在 webpack 条目中,我有以下代码。

entry: {
        home: [
            'webpack-dev-server/client?http://0.0.0.0:8000', 
            'webpack/hot/dev-server', // add "only-dev-server" prevents reload on syntax errors
            path.join(__dirname, 'app/home-styles.js')
        ],
        main: [
            'babel-polyfill',
            path.join(__dirname, 'app/styles.js'),
            path.join(__dirname, 'app/vendor.js'),
            path.join(__dirname, 'app/index.js')
        ]
    },

在开发服务器中我有 hot = true;

我有以下代码用于将 Provider 包装在 hot

class Root extends Component {
    render() {
        const { store, history } = this.props;
        return (
            <Provider store={store}>
                <Router history={history} routes={routes(store)}/>
            </Provider>
        );
    }
}

export default hot(module)(Root);

这是控制台中的结果,但是当有一些变化时没有任何react。所以基本上看起来好像热重载正在工作,但是......没有任何变化反映。我在这里错过了什么。? 在此处输入图片说明

我正在使用 react 16.2.* 和 react-hot-loader @4.0.* webpack @4.5.*

1个回答

尝试像这样更新你的开发服务器配置

const devServerOptions = {
    contentBase: './dist',
    hot: true,
    host: 'beta.whenidev.net',
    https: true,
  };
// if you're adding a dev server entry do it like this
  WebpackDevServer.addDevServerEntrypoints(config, devServerOptions);