无法解决模块'react-dom'

Use*_*321 23 reactjs webpack react-hot-loader react-dom

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

我的package.json:

"react": "~0.14.7",
"webpack": "^1.12.13",
"react-hot-loader": "^3.0.0-beta.6",
.
.
Run Code Online (Sandbox Code Playgroud)

我在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
Run Code Online (Sandbox Code Playgroud)

但在我做的时候在cmd线上

npm -v react-dom
Run Code Online (Sandbox Code Playgroud)

我得到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
Run Code Online (Sandbox Code Playgroud)

请帮忙.

May*_*kla 34

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

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

用它来安装反应和反应:

npm install react react-dom --save
Run Code Online (Sandbox Code Playgroud)

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

如何查看安装包版本?

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

npm list    
Run Code Online (Sandbox Code Playgroud)

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

npm list -g
Run Code Online (Sandbox Code Playgroud)

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

npm list PackageName

For Example =>
   npm list react
   npm list react-router
Run Code Online (Sandbox Code Playgroud)

安装完成后,您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": {
     ....
  }
}
Run Code Online (Sandbox Code Playgroud)

最新版本react-dom是:15.4.2

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

  • 我在问题中说过,在安装react-dom之后,我收到了这些错误。现在也是同样的情况。 (2认同)

Mil*_*ena 18

就我而言,我的 webpack.config.common.js 中有一个别名:

 resolve: {
    extensions: ['.js', '.jsx'],
    alias: {
      'react-dom': '@hot-loader/react-dom',
    },
  },
Run Code Online (Sandbox Code Playgroud)

我刚刚删除了这一行:

'react-dom': '@hot-loader/react-dom',
Run Code Online (Sandbox Code Playgroud)

它被修复了。


Dje*_*esu 6

我使用了“npm update”,这解决了我的问题。


ATO*_*TOA 5

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