git hooks, 统一项目开发规范,代码检测(有无console)

需求: 为了提高代码规范, 我们需要使开发者去掉一些多余的代码, 如console, alert, debugger等, 会影响到其他开发者.

1. 实现思路: 使用git 的钩子函数, 在commit前进行代码检查.

2. 实现步骤;

(1)

    ```npm install pre-commit --save-dev``` 
    ```npm instal husky --save-dev```
复制代码

(2) 在package.json中添加执行代码

(3) 需要在项目根目录下, 新建hooks/check-keyword.sh, 代码如下

#!/bin/bash

red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
# echo "${red}red text ${green}green text${reset}"

echo  "${green}start checking keyword${reset}"


for FILE in `git diff --name-only --cached`; do

    if [[ $FILE == *".sh"* ]] || [[ $FILE == *"iconfont.js"* || $FILE == *"ExamplePage"* || $FILE == *"min.js"* || $FILE == *"vendor/*"* ]] ; then
        echo $FILE
        continue
    fi
    grep 'TODO:\|debugger\|console.log\|alert(' $FILE 2>&1 >/dev/null
    if [ $? -eq 0 ]; then
        echo $FILE '包含,TODO: or debugger or console.log,请删除后再提交'
        exit 1
    fi
    
done
exit
复制代码

(4) 然后就大功告成啦. Commit 时 会执行check-keyword.sh这个脚本,这个脚本会检测 console, alert, debugger等代码. 如果有, 会提示错误(如下)

你可能感兴趣的:(git hooks, 统一项目开发规范,代码检测(有无console))