prettier 是代码格式化工具,利用git的hooks机制,在提交commit时自动调用 pretter 进行格式化。实现这一点,还需要 Huksy、pretty-quick 这两个工具。
husky 则是社区常用的 git hook 工具,能够在 git 进行一些动作(如 commit/push)时自动执行一些 node script。 husky官网
pretty-quick 在更改的文件上运行Prettier,是常见的两种格式化辅助工具。pertty-quick地址
安装 prettier pretty-quick
npm i -D --save-exact prettier
npm i pretty-quick -D
执行 npx prettier --write src/main.js 测试文件是否格式化了
pertty-quick : npx pretty-quick --staged --pattern “src/**”
–staged(只有 git)
预提交模式。在此标志下,只有暂存的文件将被格式化,格式化后它们将被重新暂存。
部分暂存的文件在格式化后不会被重新暂存,并且相当快的将以非零退出代码退出。目的是中止 git 提交并允许用户修改他们的选择性暂存以包括格式修复。
–pattern
过滤给定minimatch模式的文件。
例如pretty-quick --pattern “/.(js|jsx)"或pretty-quick --pattern "/.js" --pattern "**/.jsx”
安装husky
1.安装
npm install husky -D
2.添加脚本
方式一:npm set-script prepare "husky install"这样就会在package.json里面添加一条脚本 {“scripts”: {“prepare”: “husky install” }}
方式二: 直接在package.json文件的scripts里面 增加 “prepare”: “husky install”
3.执行 npm run prepare
执行之后会发现项目根目录多了个.husky的目录及文件
// husky 基本命名
husky install [dir] (default: .husky)
husky uninstall
husky set|add <file> [cmd]
4. 添加 pre-commit 文件
npx husky add .husky/pre-commit "npm run test"
// "npm run test" 是你需要执行的操作
// 例如: npx pretty-quick --staged --pattern "src/**"
如果没有生成pre-commit 文件,可能原因是 是win10 会有这个问题,将命令改为npx husky add .husky/pre-commit “npm-run-test”,执行完有了这个./husky/pre-commit文件之后,需要将里面的命令npm-run-test 改为 npm run test