reactjs - 为什么 create-react-app 在尝试 eslint 时会给出 typescript 错误(尽管没有 typescript 文件)?

标签 reactjs create-react-app eslint

我在执行 eslint 时遇到此错误。

Error: Failed to load parser '@typescript-eslint/parser' declared in '.eslintrc.yml » 
eslint-config-react-app#overrides[0]': Cannot find module 'typescript'

最佳答案

因为有 TypeScript 文件——尽管 ESLint 默认将 node_modules/ 从 linting 中排除,CRA 的 override (为了为任何 TypeScript 文件加载适当的插件,这就是为什么您在输出中看到 eslint-config-react-app#overrides[0] 的原因)确实包含 node_modules/的内容(参见例如 this issue)。

可以安装 TypeScript,但如果您不打算在您自己的源代码中使用任何 TypeScript 文件,您可以更具体地说明您想要 lint 的内容。要么:

  1. package.json 中的脚本更改为仅 lint 源目录:

    "lint": "eslint src/"
    
  2. 创建一个 .eslintignore(或另一个文件,如果您设置了正确的 --ignore-path)文件包含:

    node_modules/
    
  3. 添加到 package.json 中的 ESLint 配置对象(或将其作为 --ignore-pattern 传递):

    "eslintConfig": {
      "extends": "react-app",
      "ignorePatterns": [
        "node_modules/"
      ]
    }
    

后两个选项来自the documentation on configuration .

关于reactjs - 为什么 create-react-app 在尝试 eslint 时会给出 typescript 错误(尽管没有 typescript 文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62921635/

相关文章:

javascript - eslint-plugin-flowtype 不验证

javascript - 预提交时是否可以使用 ESlint 或其他任何方式禁止单词列表?

javascript - 我可以在 React 中跨多个树共享一个组件实例吗?

javascript - ReactJs - 迭代对象以创建表单字段

reactjs - 如何从 React 功能组件声明 TypeScript 静态方法

reactjs - 修复react create app第三方导入中未定义 'define' no-undef

javascript - 在 React 中渲染图像

javascript - 嵌套路由请求被解释为对 CSS 文件的请求

reactjs - 使用 create-react-app 添加更多 service-worker 功能

typescript - 处理 Promise 执行器函数 ESLint 错误