自定义WebPack配置:找不到模块:错误:可以解决React-Dom/client' in' d:\ web开发\ react \ webpack-react-boilerplate \ src'

发布于 2025-01-26 00:10:10 字数 1102 浏览 2 评论 0原文

我有我的自定义webpack配置用于React,这是我的存储库的链接: https://github.com/react-custom-custom-pro-样板

我正在尝试将React React和React-Dom从 v17 升级到 v18 ,但是在尝试更新我的index.jsx文件后:

to:

“到”

我发现找不到模块的错误(react-dom/client)。

这是React& amp;的版本。 react-dom in package.json:

”````'

I have my custom webpack configuration for react, here is the link of my repository:
https://github.com/react-custom-projects/webpack-react-boilerplate

I'm trying to upgrade react and react-dom from v17 to v18 but after trying to update my index.jsx file from:

From

To:

To

I get the error of module not found (react-dom/client).
enter image description here

Here's the versions of react && react-dom in package.json:

```

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2025-02-02 00:10:10

解决的

问题是我正在使用@hot-loader/react-dom && react-hot-loader 在React 18中不支持React 18. React 18支持快速刷新,它更有效,可以通过创建反应应用

步骤来解决问题:

  • package.json:

    a-删除@hot-loader/react-dom && React-Hot-Loader

    b-添加@pmmmwh/react-refresh-webpack-plugin && React-Refresh

  • app.jsx:

    a-卸下热装载器

  • babel.config.js:

    a-使开发中的快速刷新:
    ...(!api.env('procudent')&& ['react-refresh/babel']),

  • webpack.dev.js:

    a-启用DevServer中的热重新加载:
    devserver:{//启用热装加载热:true,

    b-导入React Refresh插件:
    const rectrefreshwebpackplugin = require('@pmmmwh/react-refresh-webpack-plugin');

    c-将其添加到插件数组中:
    插件:[//启用快速刷新新rectrefreshwebpackplugin(),],

    d-删除React Dom热加载器的别名:

resolve: {
  alias: {
    'react-dom': '@hot-loader/react-dom',
  },
},

Solved:

The issue was that I’m using @hot-loader/react-dom && react-hot-loader which is not supported in react 18. React 18 supports fast refresh which is more efficient and used by create-react-app

Steps done to solve the issue:

  • Package.json:

    a- Remove @hot-loader/react-dom && react-hot-loader

    b- Add @pmmmwh/react-refresh-webpack-plugin && react-refresh

  • App.jsx:

    a- Remove hot loader

  • Babel.config.js:

    a- Enable fast refresh in development:
    ...(!api.env('production') && ['react-refresh/babel']),

  • Webpack.dev.js:

    a- Enable hot reloading in devServer:
    devServer: { //enable hot reloading hot: true,

    b- Import react refresh plugin:
    const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');

    c- Add it in the plugins array:
    plugins: [ // enables fast refresh new ReactRefreshWebpackPlugin(), ],

    d- Remove alias for react dom hot loader:

resolve: {
  alias: {
    'react-dom': '@hot-loader/react-dom',
  },
},
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文