一、规范代码质量
先安装并配置所有代码质量工具,如 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"] // 中括号无空格
}
}