我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vite开发环境搭建详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vite开发环境搭建详解

​Vite​​​现在可谓是炙手可热,可能很多小伙伴还没有使用过​​Vite​​​,但是我相信大多数小伙伴已经在使用​​Vite​​​了,因为是太香了有没有。可能在使用过程中很多东西​​Vite​​​不是配置好的,并不像​​Vue-cli​​配置的很周全,那么今天就说一下如何配置开发环境,其中主要涉及到的点有一下几个:

  • TypeScript
  • Vuex
  • Vue-Router
  • E2E
  • Cypress
  • Test unit
  • Jest
  • vtu
  • Eslint + Perttite
  • verify git commit message
  • CI
  • alias

Vite初始化项目

在开始之前首先要先使用​​Vite​​创建项目,如果小伙伴已经对​​Vite​​已经有了一定的了解,那么可以跳过。根据​​Vite​​官网介绍可以使用​​npm​​或​​yarn​​来创建项目。

​使用 NPM:

npm init vite@latest

使用 Yarn:

yarn create vite

使用 PNPM:

pnpx create-vite

输入完命令之后然后按照提示操作即可,因为在项目要支持​​TypeScript​​​所以我这里就选择的是​​vue-ts​​​。创建好之后​​Vite​​​会帮助我们把项目给创建好,可以发现​​Vite​​​所创建好的项目其实与使用​​Vue-cli​​所创建的项目目录结构其实是差不多的,这里也就不多赘述了。

集成Vue-Router

​Vue-Router​​是大多数项目中比不可少的工具之一了,​​Vue-Router​​可以让构建单页面应用变得更加的容易。包含的功能有:

  • 嵌套的路由/视图表
  • 模块化的、基于组件的路由配置
  • 路由参数、查询、通配符
  • 基于 Vue.js 过渡系统的视图过渡效果
  • 细粒度的导航控制
  • 带有自动激活的 CSS class 的链接
  • HTML5 历史模式或 hash 模式,在 IE9 中自动降级
  • 自定义的滚动条行为

以上截取自​ ​Vue-router官网​​

安装Vue-Router:

使用 NPM:

npm install vue-router@next --save

使用 Yarn:

yarn add vue-router@next --save

安装完成之后在​​class="lazy" data-src​​目录下创建文件夹​​router/index.ts​​,创建完成之后需要在​​Vue-Router​​中对​​Vue-Router​​进行初始化配置。我们暂时把初始化的工作搁置一下,先需要创建​​pages​​文件夹,把需要展示的页面创建完成。

创建完成之后,接下来就是完善​​router/index.ts​​中文件的初始化工作了:

import { createRouter, createWebHashHistory } from "vue-router";

const router = createRouter({
history: createWebHashHistory(),
routes: [
{
path: "/home",
name: "Home",
alias: "/",
component: () => import("../pages/Home.vue")
},
{
path: "/about",
name: "About",
component: () => import("../pages/About.vue")
}
]
})

export default router;

接下来在​​main.ts​​文件中集成​​Vue-Router​​:

import { createApp } from 'vue';
import App from './App.vue';

import router from "./router";

const app = createApp(App);
app.use(router);
app.mount('#app');

测试一下,这里修改一下​​App.vue​​的代码,测试一下我们的路由是否已经可以正常使用了。

<template>
<router-link to="/home">Home</router-link>
<router-link to="/about">About</router-link>
<router-view></router-view>
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
name: 'App'
})
</script>

接下来启动服务就可以看到所配置的页面了,说明配置的路由已经生效了。​​Good Job​​,真的很不错~~~

集成Vuex

​Vuex​​是​​Vue​​所支持的状态管理工具,在在实际应用过程中也有很大的作用,当多个组件之间的数据流转变得非常困难,因此需要集中的对状态进行管理,​​Vuex​​的状态存储是响应式的。当​​Vue​​组件从​​store​​中读取状态的时候,若​​store​​中的状态发生变化,那么相应的组件也会相应地得到高效更新。

安装Vuex:

使用 NPM:

npm install vuex@next --save

使用 Yarn:

yarn add vuex@next --save

安装完成之后,首先添加​​store/index.ts​​来初始化​​Vuex​​。需要注意的是,如下示例使用了​​Vuex​​命名空间。可能在实际项目中使用命名空间相对来说还是比较普遍的,避免进行状态管理的时候导致变量污染。

import { createStore } from "vuex";

const store = createStore({
modules: {
home: {
namespaced: true,
state: {
count: 1
},
mutations: {
add(state){
state.count++;
}
}
}
}
})

export default store;

集成到​​Vue​​中:

import { createApp } from 'vue';
import App from './App.vue';

import router from "./router";
import store from "./store";

const app = createApp(App);
app.use(router);
app.use(store);
app.mount('#app');

现在​​Vuex​​就已经被集成到​​Vue​​中了为了保证集成的​​Vuex​​是有效地,那么需要对此进行测试:

pages/Home.vue

<template>
<h1>Home</h1>
<h2>{{count}}</h2>
<button @click="handleClick">click</button>
</template>

<script lang="ts">
import { defineComponent, computed } from 'vue';
import { useStore } from 'vuex';

export default defineComponent({
setup () {
const store = useStore();
const count = computed(() => store.state.home.count);
const handleClick = () => {
store.commit('home/add');
};
return {
handleClick,
count
};
}
})
</script>

当点击按钮的时候,就可以发现​​count​​​值也随着点击每次递增,那么​​store​​​是可以正常使用。​​Good Job​​,真的很不错~~~

集成Git提交验证

在开发项目的时候可能并不是一个人进行开发的,可能会由多个人进行开发,那么作为标准的自动化来讲,对于​​Git​​提交的时候,要有一些固定显著的格式来规范我们的项目开发人员,这个时候就需要使用某些工具进行约束。

安装相关依赖:

使用 NPM:

npm install yorkie -D
npm install chalk -D

使用 Yarn:

yarn add yorkie --dev
yarn add chalk --dev

安装完依赖之后,对​​yorkie​​之后需要对其进行相关的配置,在​​package.json​​中添加字段:

{
"gitHooks": {
"commit-msg": "node scripts/commitMessage.js"
}
}

在上面的配置中,运行了一个​​js​​文件,那么这个​​js​​文件中则是对提交内容的校验。

scripts/commitMessage.js

const chalk = require('chalk')
const msgPath = process.env.GIT_PARAMS
const msg = require('fs').readFileSync(msgPath, 'utf-8').trim()

const commitRE = /^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(\(.+\))?(.{1,10})?: .{1,50}/
const mergeRe = /^(Merge pull request|Merge branch)/

if (!commitRE.test(msg)) {
if (!mergeRe.test(msg)) {
console.log(msg)
console.error(
` ${chalk.bgRed.white(' ERROR ')} ${chalk.red(
`invalid commit message format.`,
)}\n\n` +
chalk.red(
` Proper commit message format is required for automated changelog generation. Examples:\n\n`,
) +
` ${chalk.green(`feat(compiler): add 'comments' option`)}\n` +
` ${chalk.green(
`fix(v-model): handle events on blur (close #28)`,
)}\n\n` +
chalk.red(
` See https://github.com/vuejs/vue-next/blob/master/.github/commit-convention.md for more details.\n`,
),
)
process.exit(1)
}
}

集成Eslint

​Eslint​​对于团队开发来说是一个很不错的工具,可以根据​​Eslint​​的配置给约束开发者代码的风格,以及书写格式。

安装相关依赖:

使用 NPM:

npm install eslint -D
npm install eslint-plugin-vue -D
npm install @vue/eslint-config-typescript -D
npm install @typescript-eslint/parser -D
npm install @typescript-eslint/eslint-plugin -D
npm install typescript -D
npm install prettier -D
npm install eslint-plugin-prettier -D
npm install @vue/eslint-config-prettier -D

使用 Yarn:

yarn add eslint --dev
yarn add eslint-plugin-vue --dev
yarn add @vue/eslint-config-typescript --dev
yarn add @typescript-eslint/parser --dev
yarn add @typescript-eslint/eslint-plugin --dev
yarn add typescript --dev
yarn add prettier --dev
yarn add eslint-plugin-prettier --dev
yarn add @vue/eslint-config-prettier --dev

配置安装完成之后呢,还需要对​​eslint​​进行配置,在根目录下创建​​.eslintrc​​:

.eslintrc

{
"root": true,
"env": {
"browser": true,
"node": true,
"es2021": true
},
"extends": [
"plugin:vue/vue3-recommended",
"eslint:recommended",
"@vue/typescript/recommended"
],
"parserOptions": {
"ecmaVersion": 2021
}
}

配置项已经添加好了,如何去运行已经配置好的​​eslint​​呢?接下来就需要在​​package.json​​中添加命令:

{
"lint": "eslint --ext class="lazy" data-src*.{ts,vue} --no-error-on-unmatched-pattern"
}

接下来运行一下​​yarn lint​​就可以了,可以通过​​eslint​​完成格式的校验了,现在的问题是什么,在执行​​yarn lint​​的时候把所有的文件全部都校验了一次,这个可不是我们所希望的,如果有很多文件的话,那么速度将会很慢,那么有没有办法,只在​​git​​提交的时候对修改的文件进行​​eslint​​校验呢?

安装相关依赖:

使用 NPM:

npm install lint-staged -D

使用 Yarn:

yarn add lint-staged --dev

修改​​package.json​​:

{
"gitHooks": {
"commit-msg": "node scripts/commitMessage.js",
"pre-commit": "lint-staged"
},
"lint-staged": {
"*.{ts,vue}": "eslint --fix"
},
"scripts": {
"test:unit": "jest",
"test:e2e": "cypress open",
"test": "yarn test:unit && npx cypress run",
"lint": "npx prettier -w -u . && eslint --ext .ts,.vue class="lazy" data-src*.ts",
"class="lazy" data-src*.d.ts",
"class="lazy" data-src*.tsx",
"class="lazy" data-src*.vue",
"tests/unit"
]
}

为了保证在单元测试中也可以使用​​@​​引入​​class="lazy" data-src​​下面的文件需要对​​jest.config.js​​配置进行修改:

修改​​jest.config.js​​:

module.exports = {
transform: {
'^.+\\.vue$': 'vue-jest',
'^.+\\.jsx?$': 'babel-jest',
'^.+\\.tsx?$': 'ts-jest',
},
testMatch: ['**/?(*.)+(test).[jt]s?(x)'],
moduleNameMapper: {
"@/(.*)$": "<rootDir>/class="lazy" data-src/$1"
}
};

到此这篇关于Vite开发环境搭建详解的文章就介绍到这了,更多相关Vite开发环境搭建内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vite开发环境搭建详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vite开发环境搭建详解

Vite是一款非常轻量级的Web开发框架,它可以帮助开发者快速搭建一个开发环境。Vite搭建的开发环境可以提供更快的编译速度,更少的配置,更好的性能和更多的开发者友好性,使开发者可以更快地构建出功能强大的Web应用程序。
2023-02-10

详解python开发环境搭建

虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境。 1.准备好安装包 1)上python官网下载python运行环境(http://www.lsjlt
2022-06-04

vscode搭建go开发环境案例详解

目录前言一、安装goLang二.配置环境变量三、vscode安装插件四.安装golang依赖五.新建go文件提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 能用golang就用golang..这配置很麻烦 提示:以下
2022-06-07

搭建 Python 开发环境

准备工作Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。首先我们来看看系统中是否已经存在 Python ,并安装一些开发工具包:安装前准备查看当前系统中的 Python 版本,可以看到实验室的这台服务器已经安装了 Pyt
2023-01-31

搭建pomelo 开发环境

开发前提条件: Windows系统,请确保你的Windows系统包含源码编译工具。Node.js的源码主要由C++代码和JavaScript代码构成,但是却用 gyp 工具来做源码的项目管理,该工具采用Python语言写成的。在Window
2022-06-04

android开发环境搭建详解(eclipse + android sdk)

本开发环境为:eclipse + android sdk,步骤说明的顺序,没有特别要求,看个人爱好了 步骤说明: 1、安装eclipse 2、配置jdk 3、安装android sdk 4、安装ADT,关联eclipse和android 详
2022-06-06

JSP开发环境搭建

搭建JSP开发环境Java的开发环境 :JDK和JRE 支持Java语言的Web应用服务器:Tomcat开发工具:eclipse(一)JDK的安装和配置1.下载JDK1.6 for windows,http://www.oracle.com/technetwo
JSP开发环境搭建
2020-02-15

Python开发环境搭建

1、pyenv   安装地址  https://github.com/yyuu/pyenv-installer  curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/
2023-01-31

Android开发-之环境的搭建(图文详解)

关于Android开发可以使用的工具有eclipse和Android studio等,这两个工具都各有各的好处和不足。studio是谷歌推出的一款开发工具,而我们都知道Android就是谷歌公司的,所以相对于eclipse来说会好一点推荐开
2022-06-06

Android开发环境搭建

1 软件下载 (1) JDK : http://www.oracle.com/technetwork/java/javase/downloads/index.html(2) Eclipse :http://www.eclipse.org/
2022-06-06

Python-开发环境搭建

第一次搭建Python开发环境,请教Java同事,查文章。原来开源的东东搭建起来真是麻烦啊!Eclipse + PyDev 环境搭建有截图,见附件
2023-01-31

Go开发环境搭建详细介绍

由于目前网上Go的开发环境搭建文章很多,有些比较老旧,都是基于GOPATH的,给新入门的同学造成困扰。以下为2023版Go开发环境搭建,可参照此教程搭建Go开发环境,有需要的朋友可以参考阅读
2023-05-15

Python开发环境之pyenv环境搭建

首先到Github上下载Pyenv相应的一键安装脚本,$ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer |
2023-01-31

python开发环境搭建---pyenv

操作系统:Centos 7.2安装版本:Python 2.5.2一、安装git yum install git epel-release python-pip 二、安装pyenvpyenv可以在环境中安装不同版本的pytnon,可以根据需求
2023-01-31

python sublime开发环境搭建

1:安装python 版本2.75:(我的安装路径:D:\Python27)2:配置window下Python的环境变量:计算机->属性->高级系统设置->环境变量在系统变量中找到Path并编辑,在最后添加pytohn安装路径:;D:\Py
2023-01-31

编程热搜

目录