Не удается разрешить модуль "реагировать"
Я видел несколько сообщений, связанных с этим типом ошибок. Но я не мог решить в моих.
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/реагировать на маршрутизатор