个人博客 个人博客
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

董先亮

前端react开发
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • homebrew
  • yarn
  • npm
  • eslint
  • prettier
  • lint-staged
    • pretty-quick
    • husky
    • commitlint
    • pnpm
    • npx
    • vite
    • git
    • iTerm配置
    • Mac常见问题
    • 工具
    NeverStop1024
    2022-08-31
    目录

    lint-staged

    lint-staged (opens new window) 是一个只检测git暂存区的lint工具。可以避免我们每次检查都把整个项目的代码都检查一遍,从而提高效率。具体检查规则,还要配置。

    # 安装

    yarn add -D lint-staged

    # 添加lint-staged配置

    • 方法一:在package.json中添加 (推荐👍)
    • 方法二:创建.lintstagedrc 文件
    • 方法三:创建lint-staged.config.js 文件并进行配置
    // 以package.json中添加为例
    "husky": {
      "hooks": {
        "pre-commit": "lint-staged",
      }
    },
    "lint-staged": {
      "*.vue": [
        "eslint --fix",
        "stylelint --fix",
        "git add"
      ],
      "*.{js,jsx,ts,tsx}": [
        "eslint --fix",
        "git add"
      ],
      "*.{htm,html,css,sss,less,scss,sass}": [
        "stylelint --fix",
        "git add"
      ]
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    注意

    • lint-staged v10之前每个任务最后都要加git add,因为每个lint任务都有可能修复代码、美化格式,这些修改的文件要再次git add .才能被git commit,
    • 所以必须在每个任务后加上git add,lint-staged 识别到git add后,自动将该lint任务修改的文件添加到暂存区。就不会影响git commit提交了。
    • 但在v10之后,官方对此做了优化,不用去写git add,lint-staged自动将修改的文件加入暂存区。
      img_pAcJoL

    # 使用

    lint-staged一般配合husky的pre-commit(git commit前的hooks)使用。
    每次git commit时,pre-commit会先拦截,执行完/.husky/pre-commit中代码,如果没有报错,才会正常提交。

    // /.husky/pre-commit
    #!/bin/sh
    . "$(dirname "$0")/_/husky.sh"
    
    yarn lint-staged
    
    1
    2
    3
    4
    5
    编辑 (opens new window)
    上次更新: 2022/09/04
    prettier
    pretty-quick

    ← prettier pretty-quick→

    最近更新
    01
    mock使用
    07-12
    02
    websocket即时通讯
    07-12
    03
    前端面试题
    07-09
    更多文章>
    Theme by Vdoing | Copyright © 2022-2023 NeverStop1024 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式