vue3 前端编码规范

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库应用:MySQL备份与恢复

目录 一、理论 1.数据备份 2.完全备份与恢复 3.完全备份与恢复应用 4.增量备份与恢复 5.增量备份与恢复应用 6.使用脚本备份 7.日志管理 二、实验 1.完全备份与恢复 2.增量备份与恢复 3.使用脚本备份 三、问题 1.mysqldump报错 四、总结 一、理论 1.数据备份 …

HDFS与MapResource笔记

客户端向NN请求上传文件 NN回应可以上传 请求上传块,返回DN 所以后面就比较慢 找最近的服务器进行 64K发到1节点,1节点立刻发给2节点,同时1节点自动开始落盘,这里,3个节点是同时落盘的. 因为缓存是在内存中,而持久化是将数据存到磁盘上. 副本节点选择: 1.安全:放不同机架 2.速…

销售易的12年与七个瞬间

导读:企业级没有捷径 12年对一家企业意味着什么? 在消费互联网领域,12年足够长,短短几年内上市的故事过去屡见不鲜。在企业服务的toB领域,产业成熟和企业发展的时间维度被拉长,但故事同样精彩。 2023年7月1…

flask实现get和post请求

1、实现get请求 在项目根目录创建app.py 代码如下: from flask import Flask,render_template,requestapp Flask(__name__)app.route("/regist/user/", methods[GET]) def regist():return render_template("regist.html") #默认去templat…

招聘小程序制作:连接人才与企业

随着人才市场的竞争日益激烈,招聘小程序成为了企业寻找优秀人才和求职者找到理想工作的重要工具。通过招聘小程序,企业可以发布招聘信息、筛选简历,而求职者可以浏览职位、提交简历等。 招聘小程序的好处 精准匹配人才:招聘小程序…

Java二叉树

目录 一、树形结构 1.1 概念 1.2 树的性质 1.3 树的表示形式 二、二叉树 2.1 概念 2.2 两种特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储 2.5 二叉树的基本操作 2.5.1 二叉树的遍历 2.5.2 二叉树的基本操作 一、树形结构 1.1 概念 树是一种非线性的数据结构&#xff0…

Linux搭建node环境-MobaXterm+node+pm2安装

1.登录session 2.安装X11-forwarding 我也不知道这个有什么用,但是有个叉叉在那里有点难受,就把它解决了什么是X11-forwarding?怎么使用? yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Ty…

如何将jar 包下载到自定义maven仓库

下载命令 mvn install:install-file -Dfileartifactid-version.jar -DgroupIdgroupid -DartifactIdartifactid -Dversionversion -Dpackagingjar -DlocalRepositoryPath. -DcreateChecksumtrue参数解释 在上述命令中,需要替换以下参数: artifactid-vers…

SQL中为何时常见到 where 1=1?

你是否曾在 SELECT 查询中看到过 WHERE 11 条件。我在许多不同的查询和许多 SQL 引擎中都有看过。这条件显然意味着 WHERE TRUE,所以它只是返回与没有 WHERE 子句时相同的查询结果。此外,由于查询优化器几乎肯定会删除它,因此对查询执行时间没…

cocosCreator 3.6以上接入腾迅Bugly 捕捉JS错误 Android

cocosCreator3.6以上接入Bugly上报其实很简单,不需要网上那么多弯弯绕,三须三步走。 1. 按照官网方式接入android的bugly 2. android端写一个Bugly上报管理类 3. 修改你工程目录下native\engine\common\Classes\目录下的Game.h, Game.cpp两个文件&…

基于python的爬虫实现

定义 爬虫(Web crawler),也被称为网络爬虫、网络蜘蛛或网络机器人,是一种自动化程序,用于浏览互联网并收集网页内容。 基本原理 爬虫的工作原理是通过发送HTTP请求从网页服务器获取网页的内容,然后解析网…

计算机专升本基础笔记二 进制转换及二进制运算规则

进制转换及二进制运算规则 什么是进制?     进制就是进位计数制,是人为定义的带进位的计数方法。我们的时间就是六十进制(满60秒进一分钟,满60分钟进1小时);对于任何一种进制—X进制,就表示每一位上的数…

GUI-Menu菜单实例(颜色+线型菜单)

运行代码: //GUI-Menu菜单实例(颜色线型菜单) #include"std_lib_facilities.h" #include"GUI/Simple_window.h" #include"GUI/GUI.h" #include"GUI/Graph.h" #include"GUI/Point.h"struc…

Java的数据结构-Map集合

文章目录 Map概述Map常用方法Map遍历元素的方法1.方法一:keySet()2.方法二:entrySet() HashMap Map概述 1、Map和collection没有继承关系2、Map集合以key和value的方式存储数据:键值对key和value都是引用数据类型。key和value都是存储对象的…

【LocalSend】开源跨平台的局域网文件传输工具,支持IOS、Android、Mac、Windows、Linux

工作前提条件:设备使用相同的局域网。 LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption. Unlike other messaging apps that rely on external servers, LocalSend doesn’t require …

【网络安全】渗透测试工具——Burp Suite

渗透测试工具Burp Suite主要功能详解 前言一、 Proxy模块1.1 界面布局1.1.1 菜单栏(1) 菜单栏 Burp(2) 菜单栏 project(3) 菜单栏 Intruder(4) 菜单栏 Repeater(5&#x…

C# Modbus通信从入门到精通(2)——Modbus RTU协议原理

Modbus RTU是串行链路上的协议,也就是说Modbus RTU是通过串口通信来实现的,它可以通过RS232、RS485物理层的接口来实现,同时它也是一个主从协议,在同一时间总线上只能有一个主站和一个或多个(最多247)个从站。Modbus通信总是由主站发起,从站没有接收到主站的请求时不会发…

Kubernetes轻量级日志工具Loki安装及踩坑记录

Loki简介 Loki是Grafana出品的一个轻量级日志系统,熟悉ELK的都知道ELK使用起来的成本,而且仅仅是日志检索使用ELK的话有点大材小用了。Loki8技术栈中使用了以下组件。 Promtail 用来将容器日志发送到 Loki 或者 Grafana 服务上的日志收集工具&#xff0c…

基于单片机的智能鞋柜的设计与实现

功能介绍 以51单片机作为主控系统;通过DHT11温湿度采集;通过按键设置逻辑处理;通过LED紫外线消毒;通过继电器控制风扇进行换气除湿;通过继电器控制加热片进行加热;整个电路以5v供电; 电路图 PCB 源代码 #i…

OSS对象存储后端实现+Vue实现图片上传【基于若依管理系统开发】

文章目录 基本介绍术语介绍图片上传方式介绍普通上传用户直传应用服务器签名后直传 OSS对象存储后端实现maven配置文件配置类ServiceController 图片上传前端图片上传组件api页面使用组件组件效果 基本介绍 术语介绍 Bucket(存储空间):用于…