禁用 create-react-app 提供的 ESLint

IT技术 reactjs typescript eslint create-react-app
2021-03-25 17:32:06

create-react-appv3.0.0 出来了它在内部支持 TypeScript linting。(那太好了!)我想我了解 TSLint 开启的情况,并计划用 ESLint 替换它,但现在不是。

如何禁用 linting 步骤react-scripts start

/* eslint-disable */ 而其他人不是我要找的人。

6个回答

作为react-scriptsV4.0.2,您现在可以使用环境变量选择ESLint出来。您可以通过将其添加到您的.env文件中或在您的 package.json 文件中为您的脚本添加前缀来实现此目的

例如在.env

DISABLE_ESLINT_PLUGIN=true

或者在你的 package.json 中:

{
  "scripts": {
    "start": "DISABLE_ESLINT_PLUGIN=true react-scripts start",
    "build": "DISABLE_ESLINT_PLUGIN=true react-scripts build",
    "test": "DISABLE_ESLINT_PLUGIN=true react-scripts test"
  }
}

https://github.com/facebook/create-react-app/pull/10170

工作正常,谢谢
2021-05-26 17:32:06

您可以将 EXTEND_ESLINT 环境变量设置为true,例如在.env文件中:

EXTEND_ESLINT=true

现在你可以在你的package.json文件中扩展 eslint 配置

...
"eslintConfig": {
    "extends": "react-app",
    "rules": {
      "jsx-a11y/anchor-is-valid": "off"
    }
  },
...

要禁用 eslint,您可以添加一个.eslintignore包含以下内容的文件

*

有关详细信息,请参阅文档:https : //create-react-app.dev/docs/setting-up-your-editor/#experimental-extending-the-eslint-config

这不会禁用 eslint。这只是将 eslint 排除在所有文件中。技术上不一样。
2021-06-13 17:32:06

你可以禁用 (并覆盖其他配置)使用Craco

需要4处改动:

  1. npm install @craco/craco --save
  2. 创建craco.config.js(在与 package.json 相同的文件夹中)
  3. 填充craco.config.js
module.exports = {
  eslint: {
    enable: false,
  },
};

最后,在你的脚本中替换react-script,即cracopackage.json

"scripts": {
  "build": "craco build",
  "start": "craco start",
}

这将禁用 ESLint。有关如何扩展 ESLint 配置的示例,请参阅Craco 文档

步骤1

.env如果它不存在,则在项目根目录中创建文件并将此行添加到其中

EXTEND_ESLINT=true

第2步

.eslintrc.js使用以下内容添加到您的项目根目录

module.exports = {
  "extends": ["react-app"],
  "rules": {
  },
  "overrides": [
    {
      "files": ["**/*.js?(x)"],
      "rules": {
// ******** add ignore rules here *********
        "react/no-unescaped-entities": "off",
        "react/display-name": "off",
        "react/prop-types": "off",
      }
    }
  ]
}

请注意该override > rules部分:添加带有“关闭”标志的规则以禁用它们。

我不弹出的解决方法:

  1. .eslintrc.js 中使用环境变量,如下所示:
module.exports = {
    "extends": process.env.REACT_APP_DEV_DISABLE_ESLINT ? [] : [
      "eslint:recommended",
      "plugin:import/errors",
      "plugin:import/warnings",
      "plugin:json/recommended",
      "plugin:@typescript-eslint/recommended",
      "plugin:jsx-a11y/recommended",
      "plugin:react/recommended",
    ],
    "rules": process.env.REACT_APP_DEV_DISABLE_ESLINT ? {} : {
      // ...rules for production CI
    }
}
  1. package.json 的启动脚本中设置变量
{
      "scripts": {
          "eslint:disable": "REACT_APP_DEV_DISABLE_ESLINT=true",
          "start": "npm run eslint:disable  react-scripts start"
      }
}