在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,就会得到如下的结果: