webpack 5 module.hot 未定义

IT技术 reactjs webpack hot-module-replacement webpack-5
2021-05-01 13:34:15

我最近将我们的 React 应用程序升级到了 webpack5,一切正常,但浏览器错误显示Uncaught ReferenceError: module is not defined在这段代码中:

if (module.hot) {
    module.hot.accept('./Layout/Layout', () => {
        render();
    });
}

谁能解释一下发生了什么以及我能做些什么来解决这个问题?

1个回答

在 webpack5 中,所有 nodejs 变量都像processmodule被删除,因此要进入module.hotwebpack 5,您需要使用import.meta.webpackHot并将代码更改为:

    if (import.meta.webpackHot) {
        import.meta.webpackHot.accept('./Layout/Layout', () => {
            render();
        });
    }