一、husky + lint-staged
1.husky配置git hooks,执行git add .然后git commit的时候,就会触发lint-staged,通过eslint来执行本次提交所修改的文件
(1) 下载插件
pnpm i husky --save-dev;
pnpm i lint-staged --save-dev
(2) 在pageage.json的script中添加:"prepare": "husky install",执行pnpm run prepare 在.git下生成.husky文件,文件中生成pre-commit的 shell脚本钩子,一般用于拦截提交之前git commit的暂存区变动,进行相关的门禁检测
(3) npx husky add .husky/pre-commit "npm run lint",用于唤醒 list-staged(.lintstagedrc.cjs)
(4) 配置 .lintstagedrc.cjs 文件
module.exports = {
'src/**/*.{js,jsx,vue,ts,tsx}': [
'eslint --fix',
'prettier --write',
],
};
二、eslint + prettier
(1) .eslintrc.cjs 和 .prettierrc.cjs 两者会有冲突,安装eslint-config-prettier插件,eslint用于代码之类的检查, prettier用于代码格式化
(2) .eslin