vite vue3 规范化与Git Hooks详解

以下是“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日

相关文章

  • webpack构建vue项目的详细教程(配置篇)

    下面是“webpack构建vue项目的详细教程(配置篇)”的完整攻略: 1. 安装webpack和相关插件 在开始配置webpack之前,需要先安装一些必要的包。可以使用npm进行安装: npm install webpack webpack-cli webpack-dev-server –save-dev 安装webpack、webpack-cli和we…

    Vue 2023年5月27日
    00
  • vue实现简易计算器功能

    实现一个简易的计算器功能可以使用Vue框架完成。下面是一个简单的攻略,帮助您完成这个项目。 步骤: 1.创建Vue项目 在项目的根目录下,使用命令行工具创建一个Vue 项目。 vue create calculator 安装Vue CLI时,可以选择使用默认设置或者进行一些其他配置。接着,我们需要安装所需的依赖。 2.安装依赖 在创建好的Vue项目中,使用以…

    Vue 2023年5月27日
    00
  • 详解Vue3 父组件调用子组件方法($refs 在setup()、<script setup> 中使用)

    从Vue3开始,推荐使用<script setup>语法,这是Vue3的新语法之一,并且它的使用方式与Vue2非常不同。使用<script setup>,我们可以更轻松地导入我们需要的属性、方法和生命周期函数,并且可以在组件之间更轻松地共享数据和方法。 在Vue3中,如果父组件想要调用子组件的方法,可以使用$refs。在Vue3中,我…

    Vue 2023年5月28日
    00
  • vue3+TypeScript+vue-router的使用方法

    下面是关于”vue3+TypeScript+vue-router的使用方法”的完整攻略。 什么是Vue3,TypeScript和Vue-router? Vue3: Vue.js的最新版本,是一个用于构建用户界面的渐进式框架。它在性能、API和优化方面进行了一系列改进和优化。 TypeScript: TypeScript是一个由Microsoft开发的开源编程…

    Vue 2023年5月28日
    00
  • Vue实现Excel本地下载及上传的方法详解

    下面就为您详细讲解“Vue实现Excel本地下载及上传的方法详解”。 1. Excel文件下载 1.1 安装FileSaver和XLSX FileSaver是一个用于将Blob和File对象保存到本地的JavaScript库,而XLSX则是一个解析和生成Excel文件的JavaScript库。使用npm安装这两个库: npm install file-sav…

    Vue 2023年5月28日
    00
  • vue axios post发送复杂对象问题

    当使用 Vue.js 结合 axios 提交一个复杂对象时,我们可能会遇到一个问题,即该请求传输时无法正确解析该对象。这可能是因为该对象被序列化成了字符串,导致后端无法正确解析该请求。下面将详细介绍如何解决这一问题。 问题原因 axios 内部使用了 JSON.stringify 将该对象进行序列化,并将其存储在请求正文中。这样,后端无法正确解析该请求。 解…

    Vue 2023年5月28日
    00
  • Vue3.2 中新出的Expose用法一览

    Vue3.2 中出现了一个新特性 Expose,这个特性可以让我们更方便地将组件的内部逻辑和对外的数据或方法隔离开来。下面我将提供关于如何使用此特性的完整攻略。 Expose 是什么 在 Vue3.0 中,如果我们想将一些只有内部逻辑使用的方法暴露给组件的使用者使用,我们可以将它们放在 methods 选项中。然后在组件中使用 this.$emit() 的方…

    Vue 2023年5月28日
    00
  • 第一次在Vue中完整使用AJAX请求和axios.js的实战记录

    下面是“第一次在Vue中完整使用AJAX请求和axios.js的实战记录”的完整攻略: 简介 本攻略旨在帮助Vue初学者了解如何在Vue项目中使用AJAX请求和axios.js进行数据交互,涉及到AJAX的基本概念和使用方法,以及axios.js的安装和使用。 AJAX基本概念 AJAX全称为Asynchronous JavaScript and XML,即…

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