vite vue3 规范化与Git Hooks详解

yizhihongxing

以下是“vite vue3 规范化与Git Hooks详解”的详细攻略。

概述

在前端开发中,如何进行规范化开发是一个十分重要的话题。同时,在团队协作中,代码的版本控制也是必不可少的一环。本文将介绍如何使用Vite和Vue3来实现前端规范化开发,并结合Git Hooks来实现代码的自动检测和提交。

Vite+Vue3规范化开发

创建项目

首先需要使用Vue CLI来创建一个Vue3项目,命令如下:

vue create my-vue-project

选择默认选项即可。创建完成后进入项目目录,并安装Vite:

cd my-vue-project
npm install vite --save-dev

新建页面

在src目录下新建一个views目录,用来存放页面组件。在views目录下新建一个页面组件文件,命名为page1.vue,内容如下:

<template>
  <div class="page1">
    <h1>Page 1</h1>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Welcome to Page 1!'
    }
  }
}
</script>

<style>
.page1 {
  background-color: #f7f7f7;
  padding: 20px;
}
</style>

新建路由

在src目录下新建一个router目录,用来存放路由文件。在router目录下新建一个文件,命名为index.js,内容如下:

import { createRouter, createWebHistory } from 'vue-router'
import Page1 from '@/views/page1.vue'

const routes = [
  {
    path: '/',
    name: 'Page1',
    component: Page1
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

配置Vite

在项目根目录新建一个vite.config.js文件,配置Vite如下:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  server: {
    port: 3000
  }
})

启动项目

在package.json中添加以下scripts:

"scripts": {
  "dev": "vite"
}

执行以下命令启动项目:

npm run dev

在浏览器中访问http://localhost:3000/即可看到页面1。

规范化开发

规范化开发可以包括以下内容:

  • 代码风格约定:比如缩进、命名、注释等
  • 代码结构约定:比如文件命名、目录结构等
  • 组件化开发:将页面拆分成多个组件,提高代码复用性和可维护性
  • 公共代码提取:将组件中公共的代码提取出来,形成单独的类库或组件,方便多个项目复用

详细的规范化开发内容超出本文范围,感兴趣的读者可以自行查阅相关资料。

Git Hooks自动检测和提交

安装husky和lint-staged

Husky是一个git hooks管理工具,可以用来自动运行代码检查、测试、提交等命令。lint-staged是一个可以在Git暂存区中处理指定文件的工具。

执行以下命令安装husky和lint-staged:

npm install husky lint-staged --save-dev

配置husky和lint-staged

在package.json中添加以下配置:

"husky": {
  "hooks": {
    "pre-commit": "lint-staged"
  }
},
"lint-staged": {
  "*.{js,vue}": ["npm run lint", "git add"]
}

上述配置的含义是,在每次commit前,自动运行npm run lint命令对.js和.vue文件进行检查,如果检查通过,自动将暂存区中的文件提交到仓库。

检查规范

在上述配置中,npm run lint命令是用来检查规范的。可以使用eslint、stylelint、prettier等工具来检查规范。

示例1

下面的示例中,我们可以使用eslint来检查.js和.vue文件的规范。

安装eslint

执行以下命令安装eslint:

npm install eslint --save-dev

初始化eslint配置

执行以下命令初始化eslint配置:

npx eslint --init

按照提示进行配置即可。如果不需要对特定类型的文件进行检查,可以在.eslintrc.js的配置中进行统一排除。

配置npm script

在package.json的scripts中添加以下命令:

"scripts": {
  "lint": "eslint . --ext .js,.vue"
},

执行以下命令运行检查:

npm run lint

示例2

下面的示例中,我们可以使用stylelint来检查.vue文件中的样式规范。

安装stylelint

执行以下命令安装stylelint:

npm install stylelint stylelint-config-standard --save-dev

初始化stylelint配置

在根目录下新建.stylelintrc.json文件,并添加以下配置:

{
  "extends": "stylelint-config-standard"
}

配置npm script

在package.json的scripts中添加以下命令:

"scripts": {
  "lint": "eslint . --ext .js,.vue && stylelint \"src/**/*.vue\""
},

执行以下命令运行检查:

npm run lint

示例3

下面来演示一个自动生成changelog并提交的功能。在Git commit时,可以根据提交信息自动生成Changelog文件,以及自动将Changelog提交到仓库。

安装conventional-changelog-cli

执行以下命令安装conventional-changelog-cli:

npm install conventional-changelog-cli --save-dev

配置npm script

在package.json的scripts中添加以下命令:

"scripts": {
  "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s"
},

配置husky和lint-staged

在package.json中添加以下配置:

"husky": {
  "hooks": {
    "pre-commit": "npm run changelog && git add CHANGELOG.md && lint-staged"
  }
},
"lint-staged": {
  "*.{js,vue}": ["npm run lint", "git add"]
}

每次commit前,除了运行npm run lint检查代码规范外,还会自动生成Changelog文件,并将其加入暂存区。

以上就是Vite、Vue3及Git Hooks的详细攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vite vue3 规范化与Git Hooks详解 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue-element-admin项目导入和导出的实现

    下面我将详细讲解 “vue-element-admin项目导入和导出的实现” 的完整攻略,包括具体的过程和示例说明。 1. 导出实现 1.1 安装引入文件 首先,在项目中引入 FileSaver.js 和 XLSX.js 两个文件,它们分别用于文件保存和 Excel 文件处理。 在终端中输入以下命令: npm install file-saver xlsx …

    Vue 2023年5月27日
    00
  • Vue编译器实现代码生成方法介绍

    Vue编译器实现代码生成方法介绍 概述 Vue编译器将Vue模板编译成渲染函数,从而在浏览器上渲染出真正的页面。代码生成是Vue编译器实现的关键部分之一。它将预处理过的模板转化为可以直接执行的渲染函数。 在进行代码生成时,Vue编译器会通过模板语法分析器将模板转化为抽象语法树(AST),接着对AST进行优化处理,最后再将AST转换为渲染函数的JavaScri…

    Vue 2023年5月27日
    00
  • Spring Boot 中starter的原理详析

    关于“Spring Boot 中starter的原理详析”,我会给出以下完整攻略: 一、什么是 Starter Spring Boot 中的起步依赖 Starter 是一个 Maven 项目,是一种便于其他 Spring Boot 项目使用的“快捷方式”。Starter 可以包括许多常用的库和依赖,例如 Spring Boot Web Starter,它包括…

    Vue 2023年5月28日
    00
  • vue给对象添加属性没有响应式的问题及解决

    针对“vue给对象添加属性没有响应式的问题及解决”的问题,我们需要了解Vue的响应式系统以及如何正确地添加响应式属性。 Vue的响应式系统 首先,我们需要了解Vue的响应式系统是基于ES5的Object.defineProperty实现的,它会在监听的属性被修改时触发更新。当我们通过Vue.$set或者直接使用赋值的方式改变组件的data中对象的属性时,我们…

    Vue 2023年5月28日
    00
  • 解决vue-cli中stylus无法使用的问题方法

    下面是完整的“解决vue-cli中stylus无法使用的问题方法”的攻略。 问题描述 在使用vue-cli创建Vue项目的过程中,通过命令行工具安装完stylus插件后,却无法使用stylus的语法。 原因分析 vue-cli默认并未安装stylus插件,因此如果要在Vue项目中使用stylus,需要先通过npm或者yarn等包管理工具手动安装stylus插…

    Vue 2023年5月28日
    00
  • 移动端调试神器vConsole使用详解

    我们来详细介绍一下“移动端调试神器vConsole使用详解”的完整攻略。 一、vConsole是什么? vConsole是一款专为移动端开发者设计的前端调试工具。它可以在移动端页面中弹出一个虚拟的控制台,帮助开发者方便地查看页面的错误信息,进行调试和测试。 二、使用vConsole 2.1 引入vConsole 在head标签中引入vConsole的css,…

    Vue 2023年5月27日
    00
  • vue3中ref和reactive的用法和解析(推荐)

    Vue3中ref和reactive的用法和解析 Vue3中的响应式系统 在Vue3中,响应式系统被重构为了更强大的API,并且与Vue2有很多不同之处。其中两个重要的API是ref和reactive。 ref是一个函数,用于将一个基本类型值或一个对象转换为响应式数据。而reactive则是一个函数,用于将一个对象转换为响应式数据。 使用ref 使用ref来创…

    Vue 2023年5月28日
    00
  • Vue过滤器(filter)实现及应用场景详解

    Vue过滤器(filter)是一种用于格式化或转换数据的技术,它可以在视图中简化数据的渲染过程,并且提高代码的可读性和可维护性。在本文中,我们将讲解如何实现Vue过滤器,以及它们在不同场景中的应用。 1. Vue过滤器的实现 1.1 基本语法 Vue过滤器是一个全局的函数,可以在模板中通过管道符号 (|) 使用。下面是Vue过滤器的基本语法: Vue.fil…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部