1.项目安装eslit
- 安装eslint,运行命令
npm install eslint -D - 配置eslit,此处为简略版配置
module.exports = {
root: true,
env: {
node: true,
},
extends: ["plugin:vue/essential", "eslint:recommended"],
parserOptions: {
parser: "@babel/eslint-parser",
},
rules: {
"no-debugger": "off",
semi: 1, // 语句强制分号结尾
},
};
2.配置lint-staged
- 安装lint-staged,运行命令
npm install lint-staged -D - 在提交代码之前,进行代码规则检查能够确保进入git库的代码都是符合代码规则的。但是整个项目上运行lint速度会很慢,lint-staged能够让lint只检测暂存区的文件,所以速度很快。lint-staged不会改变或者格式化代码,只是获取到暂存区的文件。
git commit时触发pre-commit钩子,运行lint-staged命令,对src执行eslint命令。eslint要提前配置好。 lint-staged配置
"lint-staged": {
"src/**/*.{jsx,txs,ts,js,json,css,vue}": [
"eslint --fix",
"git add"
]
},
3.commitlint
安装commitlint,,制定提交规范(采用默认),运行命令npm install --save-dev @commitlint/config-conventional @commitlint/cli
4.husky
- 安装husky,运行命令
npm install husky -D - 首先使用
husky install创建husky的相关目录和文件。 - 然后创建文件,并设置执行命令
npx husky add .husky/pre-commit "npm run lint-staged",上面创建了一个pre-commit的文件,并把npm run lint-staged作为文件内容。这样每次执行git commit的时候会先执行pre-commit 中的命令。 - 运行命令
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'