![](/img/trans.png)
[英]What's the difference between prettier-eslint, eslint-plugin-prettier and eslint-config-prettier?
[英]Prettier + Airbnb's ESLint config
最近,我开始在我的编辑器中使用 Visual Studio Code,并找到了 Prettier - JavaScript 格式化程序。 我认为这是一个很棒的插件,因为它可以帮助我保持代码的美观。
我设置了 Airbnb 的 ESLint 配置,发现它非常有用。
这是问题所在。 我目前运行的 Airbnb ESLint 配置与 Prettier 不兼容。 例如,对于 JavaScript 字符串,Prettier 被格式化为包含双刻度和 Airbnb 的 ESLint,就像单刻度一样。 当我使用 Prettier 格式化代码时,Airbnb 的 ESLint 不同意。
我知道 Kent Dodds 已经用 ESLint 配置做了一些工作,其中包括这里的例子。
但我似乎找不到一个解决方案,让我使用 Prettier 的魔力将我的代码格式化为 Airbnb 的 ESLint。
我认为eslint-config-prettier就是为此目的而创建的: https : //prettier.io/docs/en/eslint.html#turn-off-eslint-s-formatting-rules
基本上它会关闭所有与代码样式有关的规则,因为prettier
无论如何都会处理它。
因此,您只需将此配置与任何其他所需的 eslint 配置(如eslint-config-airbnb
)一起安装,并在您的 eslint 配置文件中将其添加到extends
字段中。 例如:
{
"extends": ["airbnb", "prettier"]
}
这里有几种方法可以做到,按推荐顺序。 我更喜欢第一种方法,因为您不必担心将来可能会发生冲突的其他规则。
i) 安装eslint-config-prettier
并在.eslintrc
扩展它。 这样做会关闭 ESLint 中可能与 Prettier 冲突的一些与格式相关的规则:
{
"extends": [
"airbnb",
"prettier"
]
}
ii) 将"singleQuote": true
添加到.prettierrc
配置文件中:
{
"singleQuote": true,
...
}
iii) 在调用 Prettier 时添加--single-quote
命令行选项:
$ prettier --single-quote ...
iv) 在.eslintrc
配置文件中关闭 ESLint 的quotes
规则(以及其他可能冲突的文件):
{
"rules": {
"quotes": "off",
...
}
}
yarn add --dev eslint-plugin-prettier eslint-config-prettier
// .eslintrc
{
"extends": ["airbnb", "plugin:prettier/recommended"]
}
plugin:prettier/recommended
做了三件事:
然后,如果你正在反应,你也可以添加prettier/react
:
{
"extends": [
"airbnb",
"plugin:prettier/recommended",
"prettier/react"
]
}
所以,你有你的 .eslintrc 文件,属性为"extends": "airbnb"
添加另一个属性、规则,你将在那里写入的规则将覆盖从 airbnb 继承的规则
"extends": "airbnb",
"rules": {
"eqeqeq": 2,
"comma-dangle": 1,
}
现在,我只是覆盖了两个随机规则,您需要寻找您需要的规则:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.