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):setupref与reactivecomputed与watch……
新的内置组件:
FragmentTeleportSuspense……
其他改变:
新的生命周期钩子
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就是一个选项,或者说一个配置项。
这些东西写多了,就会出现一些问题,官网有明确的说明,这里在下一篇文章通过动态图作说明→