如何在 React 的构建阶段禁用 ESLint

Mah*_*esh 9 javascript reactjs eslint create-react-app

我正在使用 create-react-app 并为 eslint 配置了我的项目。下面是我的 .eslintrc 文件。

{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "plugins": [
    "@typescript-eslint",
    "react-hooks"
  ],
  "extends": [
    "plugin:prettier/recommended",
    "airbnb-typescript-prettier",
    "prettier",
    "plugin:import/typescript"
  ],
  "parserOptions": {
    "project": "./tsconfig.json"
  },
  "rules": {
    // Make prettier code formatting suggestions more verbose.
    "prettier/prettier": [
      "warn"
    ],
    "camelcase": "warn",
    "no-console": "error",
    "no-prototype-builtins": "warn",
    "arrow-body-style": "warn",
    "prefer-arrow-callback": "warn",
    "jsx-a11y/click-events-have-key-events": "warn",
    "jsx-a11y/no-noninteractive-element-interactions": "warn",
    // Disable <Fragment> => <> replacement. Feel free to change
    "react/jsx-fragments": "off",
    "react/destructuring-assignment": "warn",
    "react/no-unused-prop-types": "warn",
    //TODO: Remove this rule later
    "react/jsx-props-no-spreading": "off",
    "react/require-default-props": 0,
    "react-hooks/exhaustive-deps": "warn",
    // Disable prefer default export
    "import/prefer-default-export": "off",
    "no-underscore-dangle": "off",
    "@typescript-eslint/camelcase": 0,
    "@typescript-eslint/no-empty-function": "warn",
    "@typescript-eslint/ban-ts-comment": "warn",
    "@typescript-eslint/ban-types": "warn",
    "@typescript-eslint/naming-convention": "warn",
    "@typescript-eslint/no-empty-interface": "warn",
    "@typescript-eslint/no-inferrable-types": "warn",
    "import/no-extraneous-dependencies": [
      "error",
      {
        "devDependencies": true
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,在构建阶段它占用了大量内存。因此我无法使用内存为 8Gb 的 docker。有什么方法可以仅在构建阶段禁用 eslint吗?我在开发过程中需要这些规则,但不希望它们影响我的构建阶段。有人可以帮忙吗?提前致谢。

Muh*_*cak 16

您可以通过添加DISABLE_ESLINT_PLUGIN=true到“脚本”部分中的“构建”来完成此操作package.json

{
  "scripts": {
    "start": "react-scripts start",
    "build": "DISABLE_ESLINT_PLUGIN=true react-scripts build",
    "test": "react-scripts test"
  }
}
Run Code Online (Sandbox Code Playgroud)