• 项目架构:husky + lint-staged + eslint - git提交前自动检查代码


    拒绝代码潜在错误,尽量减少代码屎山,统一项目代码设计、规范,从我做起~~

    目前该方法在 git 提交代码前时,无法检测处理 ts 类型报错,Ts相关报错由于不是eslint的报错,所以无法处理。如果有小伙伴们知道解决方法的,欢迎告知、交流~~(个人使用的是vite)

    eslint相关安装配置在这里就不用说了,自行处理;

    1、项目根目录执行

    1. npx husky install
    2. npx mrm@2 lint-staged

    在执行以上命令时,如果遇到一些库的版本冲突报错,请根据自己项目实际情况产生的报错,自行解决报错问题,解决完后再安装一遍。
    以防万一建议删掉 node_modules 后,再执行第一步的这两个命令。


      2、项目 `package.json` 相关新的配置:

    1. {
    2. "scripts": {
    3. "lint": "eslint src/**/*.{js,jsx,vue,ts,tsx}",
    4. "lint-fix": "eslint src/**/*.{js,jsx,vue,ts,tsx} --fix",
    5. "prepare": "husky install"
    6. },
    7. "devDependencies": {
    8. "husky": "^8.0.1",
    9. "lint-staged": "^12.3.5",
    10. },
    11. "lint-staged": {
    12. "src/**/*.{js,jsx,vue,ts,tsx}": [
    13. "eslint --fix"
    14. ]
    15. }
    16. }

    3、执行了步骤1之后,根目录是会多出 `.husky` 文件夹,修改该文件夹下的 pre-commit 文件里代码为:

    1. #!/bin/sh
    2. . "$(dirname "$0")/_/husky.sh"
    3. npx lint-staged

    4、测试:修改一个文件的代码,让他报eslint错误,然后尝试git add  > git commit -m 'x' 提交代码,在 commit 执行之前会先执行以上配置好的脚本命令进行代码检测,若是有错误代码信息则提交失败。

    此时commit 失败,提示error错误数量,husky + lint-staged 就此配置成功。


    后期可能会加上其他的检测、格式化规范进去,到时候更新该文章

    系统文章质量提示:文字太少,请多水一水

    ?????????????????????

    ?????????????????????

    ?????????????????????

    ?????????????????????

    ?????????????????????

  • 相关阅读:
    社区访谈|一直伴随“我”成长的JumpServer开源堡垒机
    手把手教NLP小白如何用PyTorch构建和训练一个简单的情感分类神经网络
    tekton+argocd 部署golang项目
    python 二分查找
    【运维】在 Docker 容器中指定 UTF-8 编码:方法与技巧
    爬虫项目(下)
    Python 错误、调试和测试
    多分类情绪识别模型训练及基于ChatGLM4-9B的评论机器人拓展
    ES6知识点(1)
    Android studio 使用opencl库(realme 手机)
  • 原文地址:https://blog.csdn.net/lijiahui_/article/details/126943359