create-react-app
v3.0.0 is out。它在内部支持TypeScript棉绒。 (太好了!)我想我了解TSLint处于打开状态的情况,并计划用ESLint替换它,但现在还不是。
如何在react-scripts start
中禁用掉毛步骤?
/* eslint-disable */
和其他不是我想要的。
答案 0 :(得分:25)
从 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"
}
}
答案 1 :(得分:3)
在项目根目录中创建.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
部分:添加带有“ off”标志的规则以将其禁用。
答案 2 :(得分:2)
首先确保将EXTEND_ESLINT
环境变量设置为true。可以在.env
文件中进行设置。
对于打字稿,应在覆盖数组中添加更多规则,如下例所示:
{
"eslintConfig": {
"extends": ["react-app"],
"overrides": [
{
"files": ["**/*.ts?(x)"],
"rules": {
"eqeqeq": "warn"
}
}
]
}
}
答案 3 :(得分:2)
我的解决方法没有弹出:
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"
}
}
答案 4 :(得分:1)
需要进行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 documentation。
答案 5 :(得分:1)
您可以将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
答案 6 :(得分:0)
唯一的方法是通过运行eject
/ react-scripts
-yarn eject
npm run eject
并手动关闭eslint
配置文件中的webpack
请查看以下分支:create-react-app closer look,尤其是在eject-tic_tac_toe
所在的scripts/start.js
目录中-在yarn start
/ {{之后出现魔术的脚本1}}-和npm start
-您在config/webpack.config.dev.js
中使用webpack的配置的位置。这是您可能感兴趣的部分:
start.js
答案 7 :(得分:-1)
我的解决方法:
添加一个 .eslintignore 文件:
*
并使用 --no-ignore
运行 eslint。所以你可以设置你自己的 eslint。如果您需要一个忽略文件,您可以使用 --ignore-path
而不是使用 --no-ignore
选项来定义它。