前言
多人合作的问题就在于大家代码风格都不一样,有了代码提交时自动格式化,可以避免再开发过程中去考虑代码格式的问题(经常气的想关掉eslint),同时保证了一定的规范性
husky
一个git钩子工具,这里主要用pre-commit钩子。通俗点讲就是husky可以在你commit之前帮你做一些事情。
prettier
一个很流行的代码格式化工具,你很容易在编辑器找到实现它的各种插件,像vscode,atom,webstom都可以找到。这里用它在代码提交前做代码格式化。
eslint
代码检查工具。eslint也可以负责一部分代码格式检查的工作,但是prettier已经做的很好了,所以我便没用eslint的代码格式检查,只让其负责代码错误检查。
lint-staged
在你提交的文件中,执行自定义的指令
安装依赖
// eslint依赖
eslint
babel-eslint
eslint-config-airbnb // 导入默认eslint选项
eslint-config-airbnb-typescript // 支持ts与js
eslint-plugin-import // import规则插件
eslint-plugin-jsx-a11y
eslint-plugin-react // react规则插件
eslint-plugin-react-hooks // react 16.8+ 以上版本规则插件
// 如果需要对tsx文件进行语法规范
@typescript-eslint/parser
@typescript-eslint/eslint-plugin
//当prettier规则与 eslint-plugin-react 规则冲突时使用
eslint-config-prettier/react
//在tsconfig配置了paths时帮助
//eslint-plugin-import 找到正确的 .ts 和 .tsx 文件
eslint-import-resolver-typescript
//prettier依赖
prettier
eslint-plugin-prettier // 将perttier当作eslint规范
eslint-config-prettier // 以prettier规范为主
//husky
husky
//lint-staged
lint-staged
pretty-quick
eslint文件配置
个人配置习惯
// eslint中文配置文档:https://cn.eslint.org/docs/user-guide/configuring