vue3 前端编码规范

news2024/11/26 2:51:41

prettier 配置

1. vscode 安装prettier 的 插件

在这里插入图片描述

2. 新建 .prettierrc 文件

{
  "semi": false, // 不尾随分号
  "singleQuote": true,  // 使用单引号
  "trailingComma": "none" // 多行逗号分隔的语法,最后一行不加逗号
}

eslint 配置

1. 创建.eslintrc.js

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: ['plugin:vue/vue3-essential', '@vue/standard'],
  parserOptions: {
    parser: '@babel/eslint-parser'
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
     // prettier 和 eslint的冲突,需要关闭当前规则校验(ex: created() { ...}.    这个created 和 ()中间没有空格报错导致的冲突)
    'space-before-function-paren': 'off'
  }
}

git 提交规范(npm > 7.x)

1. commitlint (检测提交信息)

    1. 安装
npm install --save-dev @commitlint/config-conventional@12.1.4  @commitlint/cli@12.1.4
    1. 创建 commitlint.config.js
module.exports = {
  // 继承规格
  extends: ['@commitlint/config-conventional'],
  // utf-8
  roles: {
    // type 的类型定义: 表示git提交
    // type 必须在以下范围类
    'type-enum': [
      // 当前验证的错误级别
      2,
      // 什么情况下进行验证
      'always',
      // 范型内容
      [
        'feat', //  新功能
        'fix', // 修复 bug
        'docs', // 文档注释
        'style', // 代码格式 (不影响代码运行的变动)
        'refactor', // 重构(不增加新功能,也不修复bug)
        'perf', // 性能优化
        'test', // 测试
        'chore', // 构建过程或者辅助工具变动
        'revert', // 回退
        'build' // 打包
      ]
    ],
    // subject 大小写不做校验
    'subject-case': [0]
  }
}

2. husky (githook的工具)

    1. 安装依赖
npm install husky@7.0.1 - - save-dev
    1. 启动hooks,生成.husky 文件夹
npx husky install

在这里插入图片描述

    1. 在package.json 中生成prepare指令(需要 npm ≥7.0 版本)
npm set-script prepare "husky install"

在这里插入图片描述

    1. 执行 prepare 指令
npm run prepare
    1. 成功提示
      在这里插入图片描述
    1. 添加commitlint 的hook 到husky中,并指令在commit-msg 的hooks下执行 npx --no-installcommitlint --edit "$1” 指令
npx husky add husky/commit-msg 'npx --no-install commitlint --edit "$1"'
    1. 文件结构

    1. 测试
      在这里插入图片描述

3. pre-commit 检测代码提交规范

    1. 执行 npx husky add .husky/pre-commit "npx eslint --ext .js,.vue src"添加commit 时的hook(npx eslint --ext . js,.vue sre 会在执行到该hook 时运行)
    1. 文件夹目录
      在这里插入图片描述
    1. 自行测试, 不符合eslint规范的代码无法提交

缺点: pre-cormit 处理了 检测代码的提交规范向题,当我们进行代码提交时,会检测所有的代码格式规范。

4. lint-staged自动修复格式错误(无需安装,vue3内置了)

检测成功,直接提交代码,
检测不成功,自动修复然后提交代码
检测不成功,修复失败,手动修复在提交代码

    1. 修改package.json(新增代码)
  "gitHookst": {
    "pre-commit": "lint-staged"
  },
  "lint-staged": {
    "src/**/*.{js,vue}": [
      "eslint --fix"
    ]
  }
    1. 修改 pre-commit

在这里插入图片描述

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

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

相关文章

WPF嵌入外部exe应用程序-实现基本的嵌入

WPF嵌入外部exe应用程序 使用场景功能实现嵌入基本功能实现1.导入windows API2.运行外部程序3. 获取窗体句柄4. 嵌入窗体5.设置子窗体位置整个代码 嵌入存在的问题: 使用场景 在WPF桌面应用程序开发过程中,有时候需要将其他程序结合到一起,让…

Linux尖刀——shell

目录 知识点 lsblk grep awk tail du df 对新增存储设备的检测与分区 用lsblk查询块设备 用dmesg看内核打印信息 用ls查看新增设备 对rootfs空间使用情况的监控 知识点 首先想要用shell脚本解决一些问题肯定要熟悉linux的命令 lsblk -t或–tree:以…

Redis进阶底层原理- 缓冲区

Redis中使用了很多缓冲区,在redis各个环节起到了非常核心的作用。下面来一一介绍一下: 输入输出缓冲区(客户端缓冲区) Redis中的输入输出缓冲区是为了平衡客户端发送命令和服务端处理命令的速度差异,如果客户端发送指…

java用 postman输入 数字 会加上单引号 和逗号,方便查询

java用 postman输入 数字 会加上单引号 和逗号,方便查询 /*** 输入12575726* 891006* 12575726* 891006* 返回* 12575726,* 891006,* 12575726,* 891006* 方便查询数据* param data* return*/RequestMapping(value "l…

MySQL查看系统性能参数、统计SQL的查询成本last_query_cost的使用

1、查看MySQL系统性能参数 在MySQL中,可以使用SHOW STATUS语句查询一些MySQL数据库服务器的性能参数、执行频率。 语法如下: SHOW [ GLOBAL | SESSION] STATUS LIKE 参数; 一些常用的性能参数如下: Connections:连接MySQL服…

《银行法律法规》三、银行管理——2、公司治理、 内部控制与合规管理

第二章 公司治理、 内部控制与合规管理 第一节 公司治理 考点1 银行公司治理概述★★ 商业银行公司治理是指股东大会、 董事会、 监事会、 高级管理层、 股东及其他利益相关者之间的相互关系, 包括组织架构、 职责边界、 履职要求等治理制衡机制, 以…

从零到精通!50个必懂IT术语,让你成为行业翘楚!

您刚进入IT行业?不必惊慌!我们为您整理了50个最常见的IT术语,从ICT到ITIL再到SLM,全方位解读,让您快速掌握这些关键概念。更令人兴奋的是,我们将向您介绍轻易云数据集成平台,它是您在数字化转型…

Redis进阶底层原理 - 分区算法方案

Redis分区是指将数据分散到不同的Redis实例,降低单个Redis实例内存和高并发请求的压力。为什么要做分区:目前来说前面所学知识都是基于Redis单实例上进行的,及时是哨兵模式也只是保证了单个Redis实例的可用性。当内存数据越来越多时单个Redis…

BOM编程

十四、BOM和DOM编程 windows对象 常见方法 _self:在当前页面打开窗口 _blank:打开一个新的选项卡 第一个参数是x轴,一般没有横向滚动条,都是操作第二个参数 history对象 属性:一般用不到 方法: 01.histor…

PCB规则设置

PCB设计规则 网络class设置间距规则设置线宽规则过孔规则设置铺铜规则设置其他规则设置 网络class设置 间距规则设置 进入规则设置 线宽规则 新建线宽选项,电源类 过孔规则设置 铺铜规则设置 其他规则设置

Django ORM Field源码解读

已models.py的CharField字段代码为起点 secret_id = models.CharField("secret_id", max_length=256, default="") 构造方法中,会去调父类Field 的构造方法,而后向 CharField 的验证器列表 中添加一个 MaxLengthValidator 对象,用于…

leecode 数据库:1084. 销售分析III

导入数据: Create table If Not Exists Product (product_id int, product_name varchar(10), unit_price int); Create table If Not Exists Sales (seller_id int, product_id int, buyer_id int, sale_date date, quantity int, price int); Truncate table Prod…

Elasticsearch中查询性能优化

Elasticsearch是一种流行的搜索引擎和分布式文档存储解决方案,它的高效性能和可伸缩性使其成为许多应用程序的首选存储引擎。在工作中,优化Elasticsearch的检索性能是一个非常重要的任务,可以大大提高应用程序的响应速度和用户体验。下面我们…

0131 物理层2

目录 2.物理层 2.2传输介质 2.3物理层设备 2.2,2.3部分习题 2.物理层 2.2传输介质 2.3物理层设备 2.2,2.3部分习题 1.利用一根同轴电缆互连主机构成以太网,则主机间得通信方式为() A.全双工 B.半双工 …

PTA天梯赛的赛场安排

天梯赛使用 OMS 监考系统,需要将参赛队员安排到系统中的虚拟赛场里,并为每个赛场分配一位监考老师。每位监考老师需要联系自己赛场内队员对应的教练们,以便发放比赛账号。为了尽可能减少教练和监考的沟通负担,我们要求赛场的安排满…

401 - 未授权: 由于凭据无效,访问被拒绝。

这种原因通常因为将目标文件夹建立在C盘(系统盘),系统盘权限比较高。 解决方案:将 C:\Windows\Temp 设置 User 写权限即可。

简单版本视频播放服务器V2

简单版本视频播放服务器V2 一直想做个家用版本的家庭影院,通过这个服务器可以给电脑,平板,手机等设备提供直接播放电影的作用,通过浏览器就是可以访问电脑里面的视频,实现简单的家庭版本服务了。 备注注意 &#xff1a…

基于linux下的高并发服务器开发(第二章)- 2.4 父子进程虚拟地址空间情况

01 / 进程创建 #include <sys/types.h> #include <unistd.h> pid_t fork(void); 函数的作用&#xff1a;用于创建子进程。 返回值&#xff1a; fork()的返回值会返回两次。一次是在父进程中&#xff0c;一次是在子进程中。 在父进程中返回…

【活动回顾】Data + AI 时代下的云数仓设计 @Qcon

此前&#xff0c;由 InfoQ 中国举办的 QCon 全球软件开发大会在广州圆满落幕。本次大会有近百位国内外技术大咖现场分享前沿技术案例与创新实践&#xff0c;共有十二个专题&#xff0c;近五十余场分享。Databend Cloud 联合创始人张雁飞受邀参与了此次技术盛宴&#xff0c;并在…

SpringBoot整合gRPC - proto3 -- 简单明了

项目结构 pom引入(parent中引入即可) <properties><net-devh-grpc.version>2.14.0.RELEASE</net-devh-grpc.version><os-maven-plugin.version>1.6.0</os-maven-plugin.version><protobuf-maven-plugin.version>0.5.1</protobuf-mave…