无法解决模块'react-dom'

问题描述 投票:17回答:7

我见过很少与此类错误相关的帖子。但我的解决方法无法解决。

我的package.json:

"react": "~0.14.7",
"webpack": "^1.12.13",
"react-hot-loader": "^3.0.0-beta.6",
.
.

我在webpack上遇到以下错误:

ERROR in ./public/src/main.js
Module not found: Error: Cannot resolve module 'react-dom' in C:\Users\react-example\public\src 
@ ./public/src/main.js 19:16-36

但是当我这样做时,在命令行中

npm -v react-dom

我得到3.10.10。 react-dom就在那里。但我想知道为什么它仍然会出现这个错误。

当我通过npm“npm install react-dom”安装react-dom,然后运行webpack时出现以下错误:

ERROR in ./~/react-dom/lib/ReactDOMNullInputValuePropHook.js
Module not found: Error: Cannot resolve 'file' or 'directory' C:\Users\react-example/node_modules/react/lib/ReactComponentTreeHook in C:\Users\react-example\node_modules\react-dom\lib
 @ ./~/react-dom/lib/ReactDOMNullInputValuePropHook.js 13:29-72

ERROR in ./~/react-dom/lib/ReactDOMUnknownPropertyHook.js
Module not found: Error: Cannot resolve 'file' or 'directory' C:\Users\react-example/node_modules/react/lib/ReactComponentTreeHook in C:\Users\react-example\node_modules\react-dom\lib
 @ ./~/react-dom/lib/ReactDOMUnknownPropertyHook.js 15:29-72

ERROR in ./~/react-dom/lib/ReactDOMInvalidARIAHook.js
Module not found: Error: Cannot resolve 'file' or 'directory' C:\Users\react-example/node_modules/react/lib/ReactComponentTreeHook in C:\Users\react-example\node_modules\react-dom\lib
 @ ./~/react-dom/lib/ReactDOMInvalidARIAHook.js 14:29-72

ERROR in ./~/react-dom/lib/ReactDebugTool.js
Module not found: Error: Cannot resolve 'file' or 'directory' C:\Users\react-example/node_modules/react/lib/ReactComponentTreeHook in C:\Users\react-example\node_modules\react-dom\lib
 @ ./~/react-dom/lib/ReactDebugTool.js 16:29-72

请帮忙。

reactjs webpack react-dom react-hot-loader
7个回答
30
投票

问题是react-dom没有安装,当你点击npm -v react-dom,它给你的版本npm而不是react-dom版本,你可以通过使用npm -vnpm -v react-dom检查,两者都会给你相同的结果。您正在检查包版本错误。

如何正确安装反应和反应?

用它来安装反应和反应:

npm install react react-dom --save

之后,你可以检查你的package.json文件,如果react和react-dom已经正确安装,你会找到一个条目。

如何查看安装包版本?

要检查所有本地安装的软件包版本:

npm list    

对于全局安装的软件包,请使用-g:

npm list -g

要检查任何特定包的版本,请同时指定包名:

npm list PackageName

For Example =>
   npm list react
   npm list react-router

安装完成后,你的package.json将如下所示:

{
  "name": "***",
  "version": "1.0.0",
  "main": "***",
  "scripts": {
     ....
  },
  "repository": {
     ....
  },
  "keywords": [],
  "author": "",
  "dependencies": {
    ....
    "react": "^15.4.2",          //react
    "react-dom": "^15.4.2",      //react-dom
     ....
  },
  "devDependencies": {
     ....
  }
}

react-dom的最新版本是:15.4.2

参考:https://www.npmjs.com/package/react-dom


3
投票

任何阅读此内容的人都无法弄明白。我遇到了同样的问题,我最后通过安装"react-router" package解决了问题,它只是运行以下命令

npm i react-router-dom --save用于浏览器应用程序。

npm i react-router-native为本机应用程序。


1
投票

我使用'npm update'来解决我的问题。


1
投票

您可能需要更新reactreact-dom。尽管react-dom实际安装,我在^15.5.4上遇到了这个问题,它与^16.8.6一起消失了:

$ # update the react and react-dom modules
$ yarn add react react-dom

确保两个版本完全匹配package.json

"react": "^16.8.6",
"react-dom": "^16.8.6",

再次删除yarn.locknode_modulesyarn

rm -Rf yarn.lock node_modules && yarn

0
投票

如果使用npm而不是纱线,请尝试使用rm -rf node_modules && yarnrm -rf node_modules && npm install


0
投票

我遇到此错误的特殊问题:

./src/index.js中的错误找不到模块:错误:无法解析'C:\ Users \ Jose \ Desktop \ woz-u-React \ React-course \ react-lesson-one中的'eact-dom' \ src'@ ./src/index.js 2:0-32 @ multi(webpack)-dev-server / client?http://localhost:8080 ./src/index.js

要解决此问题,我必须在安装之前解压缩该文件夹。


0
投票

就我而言,它是我在webpack.conf中的一个别名,它正在寻找@hot-loader/react-dom

© www.soinside.com 2019 - 2024. All rights reserved.