Невозможно определить путь к модулю "реакция". (Импорт / нет-нерешенный)

Кажется, я что-то здесь упускаю, это должно работать без ошибок, но 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

Другие вопросы по тегам