• gitHooks使用


    gitHooks使用

    package.json配置:

    {
      "name": "eslint",
      "version": "0.1.0",
      "private": true,
      "scripts": {
        "serve": "vue-cli-service serve",
        "build": "vue-cli-service build",
        "lint": "vue-cli-service lint"
      },
      "dependencies": {
        "core-js": "^3.6.4",
        "vue": "^2.6.11",
        "vue-router": "^3.1.5"
      },
      "devDependencies": {
        "@vue/cli-plugin-babel": "^4.2.0",
        "@vue/cli-plugin-eslint": "^4.2.0",
        "@vue/cli-plugin-router": "^4.2.0",
        "@vue/cli-service": "^4.2.0",
        "@vue/eslint-config-standard": "^5.1.0",
        "babel-eslint": "^10.0.3",
        "eslint": "^6.7.2",
        "eslint-plugin-import": "^2.20.1",
        "eslint-plugin-node": "^11.0.0",
        "eslint-plugin-promise": "^4.2.1",
        "eslint-plugin-standard": "^4.0.0",
        "eslint-plugin-vue": "^6.1.2",
        "lint-staged": "^9.5.0",
        "vue-template-compiler": "^2.6.11"
      },
      "gitHooks": {
        "pre-commit": "lint-staged"
      },
      "lint-staged": {
        "*.{js,jsx,vue}": [
          "vue-cli-service lint",
          "git add"
        ]
      }
    }
    
    

    核心配置:

    "gitHooks": {
        "pre-commit": "lint-staged"
      },
      "lint-staged": {
        "*.{js,jsx,vue}": [
          "vue-cli-service lint",
          "git add"
        ]
      }
    

    执行说明:
    (1)eslint校验标准:@vue/standard
    (2)当开发者执行 git add 操作将代码提交到暂存区后,再执行 git commit 操作时:

    • pre-commit钩子在 git commit 执行时被触发,执行npm run precommit脚本(即lint-staged命令);
    • lint-staged的配置,就是利用linters对暂存区的文件路径应用过滤规则,匹配的文件将执行后面配置的任务,这里的任务就是调用项目中的eslint指令检查文件,如果报错则先自动修复--fix,最后把没有问题的代码加入暂存区git add。
    • 如果最终还有报错,则流程终止,无法执行 commit 操作。
  • 相关阅读:
    springmvc文件上传
    4-5 动画Animation开发指南-动画基础类
    4-4 图片控件开发详解-2
    4-3 图片控件开发详解-1
    4-2 学习构建Flutter实例项目
    3-28 本章小结
    3-27 【视频讲解】调用硬件、第三方服务以及平台交互、通知
    3-26 【文档讲解】调用硬件、第三方服务以及平台交互、通知
    3-25 【视频讲解】表单输入与富文本
    3-24 【文档讲解】表单输入与富文本
  • 原文地址:https://www.cnblogs.com/mengfangui/p/12286701.html
Copyright © 2020-2023  润新知