Lint-staged自动修复格式错误及小结

news2025/2/24 18:18:00

文章目录

    • 一、背景
    • 二、Lint-staged
      • 2.1 简介
      • 2.2 修改package.json
      • 2.3 修改pre-commit
      • 2.4 测试
    • 三、小结
      • 3.1 代码格式规范
      • 3.2 Git提交规范

一、背景

通过前面几节的介绍,目前想要提交代码,就要保证代码格式规范提交信息格式规范,特别是pre-submit检测所有代码的格式规范,这就会存在两个问题:

  • 假如我们只修改了个别文件,就没有必要检测所有的文件代码格式
  • 目前只能给我们提示出对应的错误,还需要手动进行代码修改

二、Lint-staged

2.1 简介

要处理上面两个问题,就需要使用lint-staged插件了。

lint-staged可以让当前的代码检查只检查本次修改更新的代码,并在出现错误的时候,自动修复且推动

lint-staged无需单独淡妆,在生成项目时,vue-cli已经帮我们安装过了,所以直接使用即可。

2.2 修改package.json

修改package.json,如下:

"lint-staged": {
  "src/**/*.{js,vue}": [
    "eslint --fix",
    "git add"
  ]
}

如上配置,在每次本地commit之前,校验提交的内容是否符合本地配置的eslint规则,校验会出现两种情况:

  • 符合规则:提交成功
  • 不符合规则:自动执行eslint --fix尝试自动修复,如果修复成功,则自动把修复后的代码提交,如果失败,会提示错误,手动修复后才允许提交代码

2.3 修改pre-commit

.husky中的pre-commit,修改指令,如下:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

# npx eslint --ext .js,.vue src
npx lint-staged

2.4 测试

HomeView中的单引号修改为双引号,执行提交操作,如下:
在这里插入图片描述
这样就完成了代码格式的自动修复及提交。

三、小结

在这几篇文章中,主要处理了编程格式规范的问题,整个规范分为两大类:

  • 代码格式推翻
  • Git提交规范

3.1 代码格式规范

对于代码格式规范,通过ESLint + Prettier + VSCode配置配合进行了处理,最终达到了在保存代码时自动规范化代码格式的目的。

3.2 Git提交规范

对于git提交规范,我们使用了husky来检测git hooks钩子,并且通过以下插件完成了对应的配置:

  • 约定式提交规范
  • commitizengit提交规范化工具
  • commitlint:检查提交信息规范
  • pre-commit/commit-msggit hooks钩子
  • lint-staged:只检查本次修改更新的代码,并在出现错误的时候自动修复并推送

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/46496.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue设置页面背景及背景图片

本地静态图片 <template><view class"max"><image src"../../static/bg.png" mode""></image></view> </template><script>export default {data() {return {}},methods: {}} </script><st…

JavaEE之Cookie 和 Session 的工作流程

文章目录前言Cookie 和 Session 的核心方法Cookie 和 Session 的工作流程总结前言 HTTP涉及到的键值对: query string请求/响应的headerCookie里的内容form表单提交的bofyjson格式的body服务器存储若干个sessionId和HttpSession对象每个HttpSession对象本身里面又可以保存多个…

前景一片蓝海,Android音视频开发必备基础知识汇总

转瞬间&#xff0c;2022 已慢慢步入深冬&#xff0c;回首过去一年&#xff0c;音视频技术在经历一番风浪的侵袭过后&#xff0c;变得逐渐相对平静下来。 “内卷”之外&#xff0c;大家似乎更多了一份“理性”指导我们去做一些正确的事&#xff0c;追求技术在商业中的更高价值。…

数商云B2B商城系统订货功能为新能源汽车行业赋能,打造高质量发展生态圈

近年来&#xff0c;随着传统的汽车销售模式的信息不对称、价格不透明等问题日益凸显&#xff0c;汽车电商以其低成本的优势与高速的信息流通效率迅速发展。所谓汽车电商&#xff0c;即卖家与买家通过互联网的技术和手段&#xff0c;完成汽车售后各项服务的交易流程。根据数据显…

3.Linux文件管理命令-----ls显示文件名

14天学习训练营导师课程&#xff1a; 互联网老辛《 符合学习规律的超详细linux实战快速入门》 作用&#xff1a;ls 命令用于显示目录内容&#xff0c;类似于 DOS 下的 dir 命令&#xff0c;它的使用权限是所有用户。 用法&#xff1a; ls [选项]...[文件]...1.LS应用实例如下…

数据结构 - 树 堆

树、堆是用于频繁插入、排序的数据结构。他是一种排序数据结构而不是排序算法。 堆和树是有区别的 堆&#xff1a;特殊的完全二叉树。“特殊”&#xff1a;数值上特殊&#xff0c;父比子大/小。 1. 为什么用它 书上给的例子有点奇怪&#xff1a; 他的意思是说&#xff1a;“…

mysql学习笔记1:忘记密码

我使用的mysql版本为&#xff1a;5.6.50&#xff0c;操作系统为&#xff1a;win10 一、修改配置文件my.ini 1、在C:\ProgramData\MySQL\MySQL Server 5.6文件夹下找到my.ini配置文件 2、设置权限认证跳过 找到[mysqld]&#xff0c;在下面这行代码的下面加上 skip-grant-tab…

成兴光 | LED灯珠的封装形式

​成兴光根据不同的应用场合、不同的外形尺寸、散热方案和发光效果。将LED封装形式分为&#xff1a;引脚式、功率型封装、贴片式&#xff08;SMD&#xff09;、板上芯片直装式&#xff08;COB&#xff09;、Chip-LED、UVC金属、陶瓷封装等七个段落讲述。 &#xff08;1&#xf…

供应荧光染料AF532 活性酯,AF532-NHS,CAS:477876-64-5

一&#xff1a;产品描述 1、名称 AF5 532酯 AF532-NHS AF532 活性酯 Alexa Fluor 532 AF532 NHS ester 2、CAS编号&#xff1a;477876-64-5 3、分子式&#xff1a;C34H33N3O11S2 4、分子量&#xff1a;723.77 5、质量控制&#xff1a;95% 6、储存&#xff1a; -20…

分布式账本技术(Distributed Ledger Technology)和区块链(Blockchain)的简要介绍

Distributed Ledger Technology (DLT) 分布式账本技术是应用在资本市场最重要的区块链技术&#xff0c;该技术可以移除当前市场基础设施中的效率极低和成本高昂的部分。 分布式账本&#xff0c;从实质上说就是一个可以在多个站点、不同地理位置或者多个机构组成的网络里进行分…

数据库性能测试-mysql篇

一、数据库主从同步的工作原理 主从复制原理&#xff1a; 上边这张交互图就清楚的标记出了Master节点如何同步到Slave节点 1、首先Master上的修改、删除、新增操作都会被记录到一个叫做binlog的文件中&#xff0c;它是一个二进制日志文件。 2、Slave通过I/O线程读取binlog文件…

AidAim Single File虚拟存档/备份库

AidAim Single File虚拟存档/备份库 Single File System是一个本机Delphi虚拟存档/备份库&#xff0c;提供透明的压缩和强大的加密。单文件系统允许您轻松处理存储在单个文件中的多个文件或文件夹。它还包括高级加密和压缩功能。此解决方案允许您在单个文件中存储小型但功能强大…

单机多GPU训练模型入门指南(torch.nn.DataParallel)

目录 模型部分 1. 指定使用的GPU 2. 使用Torch的数据并行库(将模型搬到GPU上) 3. 保存模型 数据部分 1. 选择GPU 2. 将数据搬到GPU上 3. loss的反向传播修改 查看效果 本文将介绍模型和数据两部分的处理。 模型部分 1. 指定使用的GPU 1.1 导入os库 import os 1.2 …

基于微信小程序的付费自习室系统平台设计与实现的源码+文档

摘要 首先,论文一开始便是清楚的论述了小程序的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了小程序的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设…

Oracle Primavera P6V7 SQL异常案例

目录 系统环境 原因分析 解决方案 本案例由一名爱学习的网友提供&#xff0c;经过在Oracle Support的分析整理成文&#xff0c;希望给初学的P6用户提供参考和帮助。 系统环境 简要说明下P6安装的系统环境 操作系统&#xff1a;Windows 7 / Server 2008数据库&#xff1a…

CentOS中使用Docker来部署Postgresql

场景 CentOS7中Docker的安装与配置&#xff1a; CentOS7中Docker的安装与配置_霸道流氓气质的博客-CSDN博客 在上面安装好Docker之后&#xff0c;怎样使用docker部署Postgresql数据库。 注&#xff1a; 博客&#xff1a;https://blog.csdn.net/badao_liumang_qizhi 关注公…

canal-server使用

canal是什么 canal&#xff0c;译意为水道/管道/沟渠&#xff0c;主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据订阅和消费。 这句介绍有几个关键字&#xff1a;增量日志&#xff0c;增量数据订阅和消费。这里我们可以简单地把canal理解为一个用来同步增量…

10月11日

gitlab 用https网址拉取项目的时候&#xff0c;出现&#xff1a; error setting certificate verify locations: CAfile: D:/Git/Git/mingw64/ssl/certs/ca-bundle.crt CApath: none原因是&#xff1a; 修改为自己git所在的文件夹即可&#xff08;原因是我是从另外一台电脑直…

AndroidStudio连接真机测试运行

文章目录准备步骤1、打开要连接的手机2、配置AndroidStudio3、用数据线将手机和电脑连起来4、打开 开发者模式后问题1、可能需要下user driver才能连接手机2、电脑连不上手机3、手机连上电脑后不能运行软件运行Android Studio运行虚拟机时会占用较大的电脑内存而自己电脑内存不…

流媒体传输 - HLS 协议

HLS 全称是 HTTP Live Streaming&#xff0c;是一个由 Apple 公司提出的基于 HTTP 的媒体流传输协议&#xff0c;用于实时音视频流的传输。目前 HLS 协议被广泛的应用于视频点播和直播领域。 概述 原理介绍 通过将整条流切割成一个小的可以通过 HTTP 下载的媒体文件&#xff…