create-react-app
v3.0.0 出来了。它在内部支持 TypeScript linting。(那太好了!)我想我了解 TSLint 开启的情况,并计划用 ESLint 替换它,但现在不是。
如何禁用 linting 步骤react-scripts start
?
/* eslint-disable */
而其他人不是我要找的人。
create-react-app
v3.0.0 出来了。它在内部支持 TypeScript linting。(那太好了!)我想我了解 TSLint 开启的情况,并计划用 ESLint 替换它,但现在不是。
如何禁用 linting 步骤react-scripts start
?
/* eslint-disable */
而其他人不是我要找的人。
作为react-scripts
V4.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"
}
}
您可以将 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
需要4处改动:
npm install @craco/craco --save
craco.config.js
(在与 package.json 相同的文件夹中)craco.config.js
:module.exports = {
eslint: {
enable: false,
},
};
最后,在你的脚本中替换react-script
为,即craco
package.json
"scripts": {
"build": "craco build",
"start": "craco start",
}
这将禁用 ESLint。有关如何扩展 ESLint 配置的示例,请参阅Craco 文档。
.env
如果它不存在,则在项目根目录中创建文件并将此行添加到其中
EXTEND_ESLINT=true
.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
部分:添加带有“关闭”标志的规则以禁用它们。
我不弹出的解决方法:
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
}
}
{
"scripts": {
"eslint:disable": "REACT_APP_DEV_DISABLE_ESLINT=true",
"start": "npm run eslint:disable react-scripts start"
}
}