litemall源码阅读2.04管理后台前端litemall-admin之husky与lint

在package.json中有如下两个对象:

"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
}

同时在devDependencies对象中有:

"eslint": "5.15.3",
"eslint-plugin-vue": "5.2.2",
"html-webpack-plugin": "3.2.0",
"husky": "1.3.1",
"lint-staged": "8.1.5",

在scripts字段中有:

"lint": "eslint --ext .js,.vue src",

这几个对象和依赖项的作用是为项目增加代码检查。

先说husky,参照文章https://www.cnblogs.com/jiaoshou/p/12222665.html

就是一个钩子,或者说叫事件。当在执行git相关操作的时候,会在操作前或后让我们进行一些自定义的操作。

这里的

"hooks": {
"pre-commit": "lint-staged"
}

指的就是在我们输入git commit命令后,在命令执行前执行lint-staged操作。

如果我们把代码改成

"hooks": {
"pre-commit": ["echo 'litemall 提交前'","lint-staged"]
}

然后再执行git commit,就会得到如下的结果:

 

上一篇:git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)(解决办法)


下一篇:手写cli