1. 将换行符自动转换关闭掉
$ git config --global core.autocrlf false  
  1. 使用husky配置git hook,再提交代码前运行代码静态检查
  2. 在package.json文件中增加scripts prepare "cd ../.. && husky install zyccn-frontend/zyccn-console/.husky","lint-staged": "lint-staged && npm run tsc",
"scripts": {
    ...
    "prepare": "cd ../.. && husky install zyccn-frontend/zyccn-console/.husky", # 用于安装husky
    "lint-staged": "lint-staged  && npm run tsc", # 用于代码静态检查lint-staged和ts check
    ...
}

其中的cd命令是查找相关.git目录,因为工程目录结构不同,.git目录存放位置不同,需要根据实际情况来进行适配

4.运行npm install 或者yarn

PS D:\zycc-new\zyccn-frontend\zyccn-console> yarn
yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
$ max setup
😄 Hello PRO
info  - [你知道吗?] 请求加载态、数据管理、避免竟态问题,用 react-query 帮你全部解决,详见 https://umijs.org/docs/max/react-query
Using openapi Plugin
info  - generate files
info  - Preparing...
$ cd ../.. && husky install zyccn-frontend/zyccn-console/.husky
husky - Git hooks installed
Done in 22.00s.

出现husky - Git hooks installed提示代码husky安装成功

5.添加git hook

PS D:\zycc-new\zyccn-frontend\zyccn-console> npx husky add .husky/pre-commit "npm run lint-staged"
husky - created .husky/pre-commit

6.修改生成的.husky/pre-commit,开启HUSKY_DEBUG参数,执行lint前切换工作目录

#!/bin/sh
HUSKY_DEBUG=1  # 开启HUSKY_DEBUG参数
. "$(dirname "$0")/_/husky.sh"

cd zyccn-frontend/zyccn-console   # 切换工作目录
npm run lint-staged

7.使用提交代码进行husky 钩子生效测试

PS D:\zycc-new\zyccn-frontend\zyccn-console> git commit -m "init"
husky (debug) - starting pre-commit...   (输出这一行证明钩子生效)

> ant-design-pro@6.0.0 lint-staged
> lint-staged

ℹ No staged files found.
On branch master
Your branch is ahead of 'origin/master' by 9 commits.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

  1. 配置相关IDE,统一代码格式,提高代码质量

webstorm

  • 配置code format使用项目中prettier
File | Settings | Languages & Frameworks | JavaScript | Prettier

勾选on ‘Reformat Code’ action,Prettier package选择项目内部prettier包,例如:D:\zycc-new\zyccn-frontend\zyccn-console\node_modules\prettier
  • 配置EsLint
File | Settings | Languages & Frameworks | JavaScript | Code Quality Tools | ESLint

选择 选择 Automatic TSLint configuration

  • 配置TsLint
File | Settings | Languages & Frameworks | TypeScript | TSLint
选择 Automatic TSLint configuration
  • 配置TsLint
File | Settings | Languages & Frameworks | Style Sheets | Stylelint
选择 Enable
Stylelint Package:D:\zycc-new\zyccn-frontend\zyccn-console\node_modules\stylelint

vscode:请自行搜索

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐