【问题标题】:Unable to resolve path to module 'react'. (import/no-unresolved)无法解析模块“反应”的路径。 (导入/未解决)
【发布时间】:2018-10-08 12:45:32
【问题描述】:

似乎我在这里遗漏了一些东西,它应该可以正常工作,但 eslint 不断抛出以下内容:

无法解析模块“react”的路径。 (import/no-unresolved)

“react”(导入/扩展)缺少文件扩展名

尝试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

谢谢。

【问题讨论】:

    标签: reactjs babeljs eslint eslint-config-airbnb


    【解决方案1】:

    我认为它抱怨是因为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"
      }
    }
    

    【讨论】:

    • 您需要做什么才能正确安装它? @jalal246
    • @Sankofa 只需将“react”行从 devDependencies 移至依赖项,然后运行 ​​npm install。如果您根本没有安装 react,请使用 npm install react 安装它
    【解决方案2】:

    我使用npm i -E react react-dom 安装了 reactreact-dom,试图安装未正确安装的确切版本。

    npm i react react-dom -D 解决了这个问题。

    【讨论】:

      【解决方案3】:

      如果您使用的是 React Native,在您的 .eslintrc 文件中添加 .native.js 作为允许的扩展名可能会有所帮助。
      此外,如果您使用的是 Typescript,那么 .ts.tsx 也会有所帮助。

      "settings": {
        "import/resolver": {
          "node": {
            "extensions": [".ts", ".tsx", ".native.js"]
          }
        }
      }
      

      【讨论】:

      • 谢谢,这是我的问题。它没有 .d.ts 文件。
      • stackoverflow.com/a/55280867/470749 似乎同意你的看法。我的还没有开始工作。我仍然看到Missing file extension "ts" for "./types" import/extensions
      【解决方案4】:

      我遇到过同样的问题。

      在我的情况下,出现此错误是因为我从远程存储库中提取了新更新并且它带来了新的依赖项。

      为了解决这个问题,我只需使用 npm install 安装该依赖项

      【讨论】:

        【解决方案5】:

        我遇到了一些问题,我从项目中删除了 nodo_modules 目录并运行 yarn install / npm install

        【讨论】:

          【解决方案6】:

          这也发生在我身上。就我而言,这是因为我运行的是 npm 版本 6,但团队成员通过 npm 版本 7 安装了一个新库。版本 7 使用新版本的锁定文件格式。

          我们的解决方案是确保每个人都运行相同的 npm 版本,以便我们的 package-lock.json 文件保持一致。

          【讨论】:

            猜你喜欢
            • 2023-01-24
            • 1970-01-01
            • 2021-03-29
            • 2020-05-06
            • 2018-05-24
            • 2017-05-26
            • 1970-01-01
            • 2022-01-04
            • 2017-04-05
            相关资源
            最近更新 更多