Невозможно определить путь к модулю "реакция". (Импорт / нет-нерешенный)
Кажется, я что-то здесь упускаю, это должно работать без ошибок, но eslint продолжает выдавать следующее:
Невозможно определить путь к модулю "реакция". (импорт / нет-нерешенный)
Отсутствует расширение файла для "реакции" (импорт / расширение)
при попытке import React from 'react'
вот некоторая отладочная информация:
package.json
{
"dependencies": {},
"devDependencies": {
"react": "16.3.2",
"react-dom": "16.3.2",
"@storybook/addon-actions": "^3.4.2",
"@storybook/addon-links": "^3.4.2",
"@storybook/addons": "^3.4.2",
"@storybook/react": "^3.4.2",
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.3",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-runtime": "^6.26.0",
"eslint": "^4.19.1",
"eslint-config-airbnb": "^16.1.0",
"eslint-config-prettier": "^2.9.0",
"eslint-plugin-import": "^2.11.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-react": "^7.7.0"
}
}
.eslintrc
{
"parser": "babel-eslint",
"extends": ["airbnb", "prettier"],
"env": {
"browser": true,
"node": true,
"es6": true
}
}
.babelrc
{
"presets": ["env", "react"]
}
редактор: atom v1.26.1
Благодарю.
8 ответов
Если вы используете React Native, это может помочь добавить .native.js
как разрешенное расширение в вашем .eslintrc
файл.
Кроме того, если вы используете Typescript, то .ts
а также .tsx
тоже поможет
"settings": {
"import/resolver": {
"node": {
"extensions": [".ts", ".tsx", ".native.js"]
}
}
}
У меня возникла проблема, я удалил каталог nodo_modules из проекта и запустил yarn install / npm install
Я думаю, что это жалуется, потому что react
должен быть в dependencies
:
{
"dependencies": {
"react": "16.3.2",
"react-dom": "16.3.2",
},
"devDependencies": {
"@storybook/addon-actions": "^3.4.2",
"@storybook/addon-links": "^3.4.2",
"@storybook/addons": "^3.4.2",
"@storybook/react": "^3.4.2",
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.3",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.24.1",
"babel-runtime": "^6.26.0",
"eslint": "^4.19.1",
"eslint-config-airbnb": "^16.1.0",
"eslint-config-prettier": "^2.9.0",
"eslint-plugin-import": "^2.11.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-react": "^7.7.0"
}
}
Я установил реагировать и реагировать с помощью npm i -E react react-dom
пытаясь установить точную версию, которая не установила его правильно.
npm i react react-dom -D
решил проблему.
Это тоже случилось со мной. В моем случае это произошло потому, что я работал с версией 6, но член команды установил новую библиотеку через версию 7. Версия 7 использует новую версию для формата файла блокировки.
Наше решение заключалось в том, чтобы убедиться, что все работают одинаково
npm
версия так что наш
package-lock.json
файлы будут согласованы.
Просто закомментируйте импорт и запустите. Затем снова удалите комментарии. Это сработало для меня.
попробуйте добавить в eslintrc:
"rules": {
"import/no-unresolved": [2, { "devDependencies": true }],
...
}
У меня есть опыт решения той же проблемы.
В моем случае эта ошибка возникает из-за того, что я извлекаю новое обновление из удаленного репозитория, и оно приносит новые зависимости.
Чтобы решить эту проблему, я просто устанавливаю эти зависимости с помощью
npm install