全局安装eslint、依赖
npm i -g eslint
npm i -g eslint-plugin-vue eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard babel-eslint
检测是否还缺依赖
eslint ./src/*
修改git钩子函数(也可以直接修改.git/hooks/pre-commit
文件)
1、在项目根目录下新建.hooks
目录
2、在目录里新建pre-commit
3、复制下面的shell代码
#!/bin/sh STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep ".jsx\{0,1\}$") if [[ "$STAGED_FILES" = "" ]]; then exit 0 fi PASS=true echo "\nValidating Javascript:\n" # Check for eslint which eslint &> /dev/null if [[ "$?" == 1 ]]; then echo "\t\033[41mPlease install ESlint\033[0m" exit 1 fi for FILE in $STAGED_FILES do eslint "$FILE" if [[ "$?" == 0 ]]; then echo "\t\033[32mESLint Passed: $FILE\033[0m" else echo "\t\033[41mESLint Failed: $FILE\033[0m" PASS=false fi done echo "\nJavascript validation completed!\n" if ! $PASS; then echo "\033[41mCOMMIT FAILED:\033[0m Your commit contains files that should pass ESLint but do not. Please fix the ESLint errors and try again.\n" exit 1 else echo "\033[42mCOMMIT SUCCEEDED\033[0m\n" fi exit $?
在 package.json
中添加命令
"postinstall": "cp .hooks/* .git/hooks/"