一、规范代码质量
先安装并配置所有代码质量工具,如 Prettier 和 ESLint。
然后快速生成 lint-staged 配置:
npx mrm@2 lint-staged
上述命令会根据 package.json 中依赖项的代码质量工具来安装和配置 husky 和 lint-staged。记住需将 package.json 和 .husky 的更改添加至 git 管理中,方便团队共享此配置。
package.json
"lint-staged": {"app/**/*.{js,json}": ["prettier --write","eslint --cache --fix","npm run lint","npm run test"]}
.husky/pre-commit
此配置,是 mrm 自动生成的。
#!/bin/sh. "$(dirname "$0")/_/husky.sh"npx lint-staged
注:
lint-staged是一个在 git 暂存文件(注:在暂存区) 运行 linters 的工具。当然如果你觉得每次修改一个文件就给所有文件执行一次 lint 检查恶心的话,这个工具对你来说就没有什么意义了,请直接关闭即可。
二、与 ESLint 冲突
当使用 Prettier 插件对代码格式化的时候,会遇到与 ESLint 规则冲突的情况,针对这一问题,有两种解决方案。
方案一:配置 **.prettierrc** 文件
针对 Prettier 插件与 ESLint 规则冲突的地方,创建 .prettierrc 文件,按照 ESLint 规则修改 Prettier 插件的格式化规则,如下所示。
{"arrowParens": "avoid","singleQuote": true,"printWidth": 100}
方案二:配置 **.eslintrc** 文件
针对 Prettier 插件与 ESLint 规则冲突的地方,还可以修改 .eslintrc 文件,关闭一些不符合内部团队编码规范的 ESLint 规则,如下所示。
{"extends": "eslint-config-egg","rules": {"array-bracket-spacing": ["error", "never"] // 中括号无空格}}
