当我运行npx create-react-app ...时,一个基本的React项目正在为我创建.

"eslintConfig": {
  "extends": "react-app"
},

然而,每当我将ESLint安装为开发人员依赖项并对其进行配置时(就像我通常做的那样),VS代码似乎都会 Select 它.

我试图通过扩展这个ESLint配置来给它注入活力,所以现在我有了这个:

"eslintConfig": {
  "extends": ["react-app", "eslint:recommended", "google"],
  "rules": {
    "semi": ["error", "always"],
    "quotes": ["error", "double"]
   }
},

这改变不了什么.

这让我想到一个简单的问题:

当我被提到the number one Google hit that comes up when searching "create react app eslint"时——我显然已经读过了——让我澄清一下我的意思:

显然,与使用like so手动添加到项目中不同,ESLint以不同的方式集成到Create React应用程序中.

  • ...无法在项目根目录中运行eslint命令.
  • ...ESLint似乎不是package.json以内的依赖项.
  • ...VS代码没有发现存在ESLint.
  • ...项目根目录中没有.eslintrc.*文件.
  • ...等

那么:在Create-React应用程序的上下文中,我该如何处理ESLint呢?首先,我该如何运行它?如何扩展它?尽管VS代码通常会注意到ESLint的存在,但为什么VS代码不接收它呢?

推荐答案

是的,create-react-app带有eslint配置.

如何正确启用和扩展它?

您可以查看如何将其扩展here.

{
  "eslintConfig": {
    "extends": ["react-app", "shared-config"],
    "rules": {
      "additional-rule": "warn"
    },
    "overrides": [
      {
        "files": ["**/*.ts?(x)"],
        "rules": {
          "additional-typescript-only-rule": "warn"
        }
      }
    ]
  }
}

如何启用它?

你需要integrate it with your IDE美元.

我该如何运行它?

集成后,一个eslint服务器将在后台运行,并为您的IDE启用Lint(有时需要重新启动IDE).


我在跑了npx create-react-app example次后判断了你所有的声明:

...无法在项目中运行eslint命令.

你可以:

enter image description here

eslint是作为项目依赖项的一部分安装的,只需全局运行eslint(eslint [cmd]),您就需要确保它全局安装(不推荐).

...ESLint似乎不是包中的依赖项.json.

为什么会这样?这就是为什么你要用CRA这样的起动器.这是一种内在依赖,你不需要担心,这是CRA的工作.

...VS代码没有发现存在ESLint.

确实如此,判断OUTPUT选项卡并查找ESLint以查看服务器的输出.

enter image description here

...没有.eslintrc.*项目根目录中的文件.

您可以从CRA获得默认配置(由于专注于编码而对您隐藏).


了解eslint实际上是什么以及我们如何使用它来应对开发非常有用,请查看相关问题"Do React hooks really have to start with “use”?".

Reactjs相关问答推荐

Inbox Enum类型以React组件状态时出现TypScript错误

ReferenceError:未在Redux组件中定义窗口

Redux向后端发送请求时出现钩子问题

404使用GitHub操作部署Next.js应用程序时出错

Formik验证不适用于物料UI自动完成

我应该如何管理设置组件初始状态的复杂逻辑?

使用Ionic 7和React 18,如何访问历史对象以在页面之间导航?

无法使用导入app/page.jsx的组件中的tailwind 类文本操作和自定义动画

在React中使用if条件时如何更改Tailwind中元素的文本 colored颜色

从ReactDataGridtry 将数据传递给父组件

如何覆盖自定义 MUI 手风琴的样式(分隔线和折叠图标)

当我在 React Router Dom 中使用两个参数并直接在页面上导航时,数据获取没有发生

使用 nextjs App Router 在动态客户端进行服务器端渲染

如何到达类组件中的状态?

当 React 中的状态发生变化时如何停止重新加载谷歌 map ?

来自一个自定义 React Native 组件的样式从另一个自定义组件移除样式

使用 React.lazy 调试 webpack 代码拆分

错误:无效挂钩调用.钩子只能在函数组件的主体内部调用.使用 next/router 时

运行开发服务器时如何为 Vite 指定运行时目录

调用函数以获取数据并在数据到达时导航到链接