之前写了一个同样功能使用
husky
的笔记,近期却发现它不行了,码中哈士奇也是不能动了
所以使用了新的包pre-commit
,顾名思义,也知道他的生命周期了吧
之前写的husky
的在文章的下面,见分割线
下面就来进行实际操作
首先进行安装
npm install prettier pre-commit pretty-quick --save-dev
配置package.json
"scripts": {
"pretty-quick": "pretty-quick --staged"
},
"pre-commit": [
"pretty-quick"
]
添加prettier配置文件
根目录下新建 .prettierrc 文件
{
"printWidth": 120, // 换行字符串阈值
"semi": true, // 句末加分号
"singleQuote": true, // 用单引号
"trailingComma": "none", // 最后一个对象元素加逗号
"bracketSpacing": true, // 对象,数组加空格
"jsxBracketSameLine": false, // jsx > 是否另起一行
"arrowParens": "always", // (x) => {} 是否要有小括号
"requirePragma": false, // 是否要注释来决定是否格式化代码
"proseWrap": "preserve", // 是否要换行
"tabWidth": 4, //缩进
}
以上就完成了,简单实用
配合SourceTree也是可以顺利使用
以下是使用husky的方案
1. 为您的项目添加prettier:
npm install prettier --save-dev --save-exact
2. 运行文件验证:
npx prettier --write src/index.js
3. 安装pretty-quick,husky :
npm install pretty-quick husky --save-dev
4. 然后将此配置添加到package.json:
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
}
},
prettier配置文件
根目录下新建 .prettierrc 文件
{
"printWidth": 120, // 换行字符串阈值
"semi": true, // 句末加分号
"singleQuote": true, // 用单引号
"trailingComma": "none", // 最后一个对象元素加逗号
"bracketSpacing": true, // 对象,数组加空格
"jsxBracketSameLine": false, // jsx > 是否另起一行
"arrowParens": "always", // (x) => {} 是否要有小括号
"requirePragma": false, // 是否要注释来决定是否格式化代码
"proseWrap": "preserve", // 是否要换行
"tabWidth": 4, //缩进
}
这样在进行git提交的以后代码会自动进行格式化