vue3介绍&Vite创建工程
Vue3简介
- 2020年9月18日,
Vue.js
发布版3.0
版本,代号:One Piece
- 经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者
- 官方发版地址:Release v3.0.0 One Piece · vuejs/core
- 截止2023年10月,最新的公开版本为:
3.3.4
性能的提升
打包大小减少
41%
。初次渲染快
55%
, 更新渲染快133%
。内存减少
54%
。
源码的升级
使用
Proxy
代替defineProperty
实现响应式。重写虚拟
DOM
的实现和Tree-Shaking
。
拥抱TypeScript
Vue3
可以更好的支持TypeScript
。
新的特性
Composition API
(组合API
):setup
ref
与reactive
computed
与watch
……
新的内置组件:
Fragment
Teleport
Suspense
……
其他改变:
新的生命周期钩子
data
选项应始终被声明为一个函数移除
keyCode
支持作为v-on
的修饰符……
创建Vue3工程
基于 vue-cli 创建
点击查看官方文档
备注:目前
vue-cli
已处于维护模式,官方推荐基于Vite
创建项目。
1 | ## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上 |
基于 vite 创建 (推荐)
vite
是新一代前端构建工具,官网地址:https://vitejs.cn,vite
的优势如下:
- 轻量快速的热重载(
HMR
),能实现极速的服务启动。 - 对
TypeScript
、JSX
、CSS
等支持开箱即用。 - 真正的按需编译,不再等待整个应用编译完成。
webpack
构建 与vite
构建对比图如下:
webpack是处理完所有模块才启动工程,而vite是直接启动,后续按需加载(比较像懒加载)
- 具体操作如下(点击查看官方文档)
1 | ## 1.创建命令 |
- 项目文件
一开始打开项目文件,会有很多文件报红,这是因为项目文件找不到依赖,可以发现我们没有node_modules
文件夹,我们需要npm i
安装所有的依赖,再重新打开项目文件,就好了.vscode/extensions.json
:配置了插件,如果vscode一个插件都没安装,会给你一个提示public
:脚手架的根目录,只放了一个页签图标favicon.ico
,就是网页标签的图标env.d.ts
:/// <reference types="vite/client" />
ts不认识.jpg、.txt等文件,这个文件的作用就是让ts去认识这些文件比如,如果删掉这行代码,在a.ts文件中引入一个txt:
import b from './b.txt'
,会发现ts不认识
ctrl点进这个vite/client
,这个文件中,常用的文件都配在这里了,包括各种图片视频图标等等index.html
:入口文件
它引入了src/main.ts
,它支撑着整个应用跑起来这点vite和webpack就有区别了,入口文件不是main.js,也不是mian.ts
运行;
npm run dev
自己动手编写一个App组件
1 | <template> |
安装官方推荐的vscode
插件:


TS版本的volar现在已经启用,而是新的vue-offical将volar 和 TS volar两个插件的功能集合到了一起,但是好像目前很垃圾,评价很差
总结:
Vite
项目中,index.html
是项目的入口文件,在项目最外层。- 加载
index.html
后,Vite
解析<script type="module" src="xxx">
指向的JavaScript
。 Vue3
中是通过createApp
函数创建一个应用实例。
一个简单的效果
Vue3
向下兼容Vue2
语法,且Vue3
中的模板中可以没有根标签
1 | <template> |
这种写法就是vue2的选项式API(也叫配置式),name、data、methods就是一个选项,或者说一个配置项。
这些东西写多了,就会出现一些问题,官网有明确的说明,这里在下一篇文章通过动态图作说明→