我正在参加「掘金·启航计划」
Vue3.0简介
- 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)
- 耗时2年多、2600+次提交、30+个RFC、600+次PR、99位贡献者
- github上的tags地址:github.com/vuejs/vue-n…
- 官网:cn.vuejs.org/
Vue3带来了什么
1.性能的提升
- 打包大小减少41%
- 初次渲染快55%, 更新渲染快133%
- 内存减少54%
2.源码的升级
- 使用Proxy代替defineProperty实现响应式
- 重写虚拟DOM的实现和Tree-Shaking
3.拥抱TypeScript
- Vue3可以更好的支持TypeScript
4.新的特性
-
Composition API(组合API)
- setup配置
- ref与reactive
- watch与watchEffect
- provide与inject
- ......
-
新的内置组件
- Fragment
- Teleport
- Suspense
-
其他改变
-
新的生命周期钩子
-
data 选项应始终被声明为一个函数
-
移除keyCode支持作为 v-on 的修饰符
-
......
-
创建vue3.0项目
创建vue3.0项目有两种方式,最传统的还是cli脚手架创建,还有就是使用vite创建,下面一一演示,先从脚手架开始
推荐使用cli脚手架的方式而不是vite,因为目前主流的还是cli,vite并没有流行开
方式1:使用vue-cli脚手架创建
官方文档:cli.vuejs.org/zh/guide/cr…
首先需要确保vue-cli的版本在4.5.0以上!
查看vue-cli版本
想要查看vue-cli版本有两种方式,都是使用命令:
方式1 vue -V
打开命令窗口输入:vue -V
方式2 vue --version
打开命令窗口输入:vue --version
升级vue-cli版本
如果发现你的vue-cli脚手架版本低于4.5.0,那么就不能通过它创建vue3.0项目了,这个时候需要升级你的vue-cli脚手架版本,可以使用以下这个命令,它会帮助你安装最新的vue-cli版本
## 安装或者升级你的@vue/cli
npm install -g @vue/cli
创建项目
确认完自己的vue-cli脚手架版本后就可以开始创建项目了
进入想要创建的目录
首先进入想要创建的目录
可以选择使用cd命令切换目录,也可以直接在目录输入输入cmd然后回车,我是选择的后者
输入命令
输入命令并回车: 注意:xxx就是项目名称
vue create xxx
这是我的项目名称叫vue3_test
然后按下回车,就开始创建项目了,需要等待一小会,这里我大约等了30s
注意:这个阶段可能会失败,失败原因可能是:网络问题,没有淘宝镜像等问题,出现问题不要着急,根据报错信息去搜索解决,总会解决问题的。
如果出现以下画面表示这一步成功了
选择vue3.0版本
因为我们要创建vue3.0版本,所以选择vue3.0选项并回车,然后就等待项目构建即可
注意:这一步别选错了,很有可以不小心选到vue2.0版本
大约等待1分钟左右,即可构建项目完成,如果卡住了,敲下回车即可
出现以下界面表示成功了。并且提供给我们两个命令:进入项目,启动项目
启动vue3.0项目
依次输入这两个命令即可:
首先是切换到项目目录,然后是启动项目
cd vue3_test
npm run serve
出现以下界面表示项目启动成功
访问vue3.0项目
打开浏览器输入:http://localhost:8080/
这就是vue3.0提供给我们的界面,和vue2.0长的一模一样的
通过开发者工具发现也是提供了一个HelloWorld的组件
cli脚手架创建项目步骤总结
其实就是这几个命令:
## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上
vue --version
## 安装或者升级你的@vue/cli
npm install -g @vue/cli
## 创建
vue create vue_test
## 启动
cd vue_test
npm run serve
至此使用vue-cli创建vue3.0项目到此就结束了,下面演示用vite创建
方式2:使用vite创建
注意:虽然也使用vite创建,但是并不推荐,因为它目前并不是主流,了解这种方式即可
那么既然要用到vite,那什么是vite呢?
vite简介
vite是由尤玉溪团队打造的新一代前端构建工具。扩展:现在的主流构建工具是webpack
-
优势如下:
- 开发环境中,无需打包操作,可快速的冷启动。
- 轻量快速的热重载(HMR)。
- 真正的按需编译,不再等待整个应用编译完成。
传统构建和vite构建的对比图:
首先是传统构建webpack的工作模式:构建的比较慢,要打包多个文件
然后是vite的工作模式:构建的比较快,动态打包
官方文档:v3.cn.vuejs.org/guide/insta…
vite官网:vitejs.cn
创建项目
进入想要创建的目录
这一步和使用vue-cli创建的第一步如出一辙,就不废话了,直接跳过
执行命令 npm inie vite xxx
输入命令:npm inie vite xxx并按下回车
注意:前三个单词都是固定的,xxx是项目名称
npm inie vite xxxx
输入并按下回车
如果是第一次使用vite创建,这里可能会咨询是否要创建项目,输入y(yes)
切换到项目目录
输入命令切换到项目目录
cd xxxxx
启动vue3.0项目
切换到项目目录后,就可以启动项目了,这里不再是npm run serve了,而是npm run dev
但是按下回车后发现启动失败了
这个问题是因为没有执行npm i下载相关的依赖,执行npm i再执行npm run dev即可,相关问题以记录到csdn:
访问vue3.0项目
打开控制台,输入:http://localhost:3000/
和vue2.0的界面比起来,清爽了很多,并且给我们提供了一个计数器的demo
本质还是一个HelloWorld的组件
vite创建项目步骤总结
以下为命令步骤总结:千万不要忘了npm i这一步!
## 创建工程
<project-name>
## 进入工程目录
cd <project-name>
## 安装依赖
npm i
## 运行
npm run dev
-
总结和对比
- 既然两种方式都可以创建vue3.0项目,但是推荐使用cli创建vue3.0项目,vite目前并不是主流,作为拓展了解即可,实际还是要看以公司为主
- 下面简单对比cli和vite,主要有以下不同:
- 1 创建的命令不同
- cli使用的命令是npm create xxx,vite使用的命令是npm init vite-app xxx
- 2 对项目的依赖管理不同
- cli不需要收到下载依赖,vite需要开发者收到通过npm i命令下载依赖
- 3 项目端口不同
- cli默认是8080,vite默认是3000
- 4 初始化页面展示不同
- cli的页面和vue2.0几乎一致,但是vite展示的页面更加清爽,且提供了一个计数器的demo
分析vue3.0初始化工程结构
以下就是整个初始化完成后的vue3.0工程结构,基本和vue2.0是一致的,每一个包的位置包括命名都和vue2.0十分的相似
唯一不同的就是main.js里面的代码
main.js
如果在vue3中写vue2的main.js那一套,肯定是不行的,不能兼容老版本的写法的
组件模板结构根标签的使用
还有一个重要的地方,vue2.0中必须要使用根标签包裹组件模板内容,但是vue3不需要根标签
如果给vue3加了根标签也不会报错
除了上面两个地方之外,vue3.0初始化工程结构和vue2.0是一样的
├── node_modules
├── public
│ ├── favicon.ico: 页签图标
│ └── index.html: 主页面
├── src
│ ├── assets: 存放静态资源
│ │ └── logo.png
│ │── component: 存放组件
│ │ └── HelloWorld.vue
│ │── App.vue: 汇总所有组件
│ │── main.js: 入口文件
├── .gitignore: git版本管制忽略的配置
├── babel.config.js: babel的配置文件
├── package.json: 应用包配置文件
├── README.md: 应用描述文件
├── package-lock.json:包版本控制文件