在React项目中使用Prettier安装ESlint的正确方法



我最近开始在我的项目中使用esint和更漂亮的,但我总是不确定我是否正确安装了它们。我在网上读了几篇文章,似乎每一篇文章的做法都不一样。我正在尝试使用Airbnb配置。我目前在基本的React应用程序中没有任何错误,但我只想确保它是正确的配置。用更漂亮的人跑esint最好的方法是什么?

这是我的文件:

.eslintrc.js

module.exports = {
env: {
browser: true,
es2021: true,
jest: true,
},
extends: [
'plugin:react/recommended',
'airbnb',
'plugin:prettier/recommended',
],
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 12,
sourceType: 'module',
},
plugins: ['react', 'prettier'],
rules: {
'prettier/prettier': 'error',
'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }],
},
};

.peighterrc.js

module.exports = {
trailingComma: "es5",
tabWidth: 2,
semi: true,
singleQuote: true,
};

在我的包.json

"devDependencies": {
"eslint": "^7.25.0",
"eslint-config-airbnb": "^18.2.1",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.23.2",
"eslint-plugin-react-hooks": "^4.2.0",
"prettier": "^2.2.1"
}

有很多方法可以设置更漂亮的esint,这可能会令人困惑。

要作为esint规则运行更漂亮,您需要添加一个允许esint运行更漂亮的规则。使用eslint-plugin-prettier插件可以做到这一点。

"plugins": ["prettier"],          // Defines a rule that allows eslint to run prettier.
"rules": {
"prettier/prettier": "error"    // Turns on that rule.
}

你可能还想关闭esint规则,因为它可能与更漂亮的相冲突。您可以使用eslint-config-prettier扩展来执行此操作。请注意,这应该出现在任何其他扩展之后,以便根据需要覆盖规则。

"extends": [
/*other extensions*/, 
"prettier"                      // Turns off conflicting eslint rules.  
]             

根据他们的文档,听起来更漂亮的插件附带的推荐扩展实际上可以帮你处理一切,所以你应该只需要:

extends: [
// .. other extensions
'plugin:prettier/recommended',
]

https://github.com/prettier/eslint-plugin-prettier

此外,如果第三方插件有自己的规则,可能与更漂亮的规则相冲突,你过去必须将"prettier/that-plugin"-例如"prettier/react"添加到插件列表中,以便告诉esint也要遵守这些相关的非标准规则。但这似乎不再需要了。

我使用此指南在Yarn monorepo/工作区上使用airbnb的样式指南设置esint。

相关内容

  • 没有找到相关文章