Не удается разрешить модуль "реагировать"

Я видел несколько сообщений, связанных с этим типом ошибок. Но я не мог решить в моих.

My 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

Но в строке cmd, когда я делал

npm -v react-dom

Получаю 3.10.10. реагирует. Но мне интересно, почему он все еще дает эту ошибку.

Когда я установил реакцию через npm "npm install 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

Пожалуйста, помогите.

Ответ 1

Проблема react-dom не установлена, когда вы нажмете npm -v react-dom, она дает версию версии npm not react-dom, вы можете проверить, что с помощью npm -v или npm -v react-dom оба будут выдавать вы тот же результат. Вы неправильно проверяете версию пакета.

Как правильно установить реакцию и реакцию?

Используйте это для установки реакции и реагирования:

npm install react react-dom --save

После этого вы можете проверить свой файл package.json, если реакция и реакция были установлены правильно, вы найдете для этого запись.

Как проверить версию пакета установки?

Чтобы проверить все версии локально установленных пакетов:

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

Ответ 2

Для всех, кто читает это, не смог понять это. У меня была та же проблема, с которой я столкнулся с решением, установив пакет "response-router" , который просто запускает следующую команду

npm i react-router-dom --save для браузера.

npm i react-router-native для собственного приложения.

Ответ 3

Я использовал 'npm update', и это решило мою проблему.

Ответ 4

В моем случае у меня был псевдоним в моем webpack.config.common.js:

 resolve: {
    extensions: ['.js', '.jsx'],
    alias: {
      'react-dom': '@hot-loader/react-dom',
    },
  },

Я только что удалил эту строку:

'react-dom': '@hot-loader/react-dom',

и это было исправлено.

Ответ 5

Вам может потребоваться обновить react и react-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.lock, node_modules и снова yarn.

rm -Rf yarn.lock node_modules && yarn

Ответ 6

В моем случае это был псевдоним, который я имел в своем webpack.conf, который искал @hot-loader/react-dom.

Ответ 7

Попробуйте rm -rf node_modules && yarn или rm -rf node_modules && npm install если вы используете npm вместо rm -rf node_modules && npm install.

Ответ 8

Моя конкретная проблема для получения этой ошибки:

ОШИБКА в. /src/index.js Модуль не найден: Ошибка: Не удается разрешить 'eact-dom' в 'C:\Users\Jose\Desktop\woz-u-React\React-Course\response-lesson-one\src '@./src/index.js 2: 0-32 @multi (webpack) -dev-сервер/клиент? http://localhost: 8080./src/index.js

Чтобы решить эту проблему, мне пришлось распаковать папку перед установкой.

Ответ 9

Вы используете машинопись для своего проекта?

у меня тоже такая же ошибка,

я исправил это установкой yarn install react-router-dom

потому что до этого я устанавливаю только @types/реагировать на маршрутизатор