一览vue3新特性

187 阅读2分钟

vue3的源代码github库,请各位兄弟姐妹们自行去下载.

一览vue3新特性

1、性能
2、tree shaking支持,更小的文件大小
3、composition api新语法
4、Fragment,Teleport Suspense新组件
5、更好的typescript支持
6、自定义渲染器

性能

1、重写vdom,静态标记性能杠杠的
2、编译时优化
3、更好的初始化性能
4、和vue2比,更新快了1.2-2倍
5、和vue2比,ssr快了2-3倍

Tree-shaking

文件大小变化很明显,22.5-13.5,如果是用composition新语法,只有11.75kb

Composition

1、和optionapi共存,更好的逻辑组织方式(后面会有实际代码)
2、reactivity成为一个独立的包

Fragment,Teleport Suspense

Fragment

组件不需要一个唯一的根节点了,写递归方便多了

Teleport

其实就是portal

Suspense

异步组件

更好的typescript支持

代码块用typescript重写,vue3对于typescript支持性更好。

自定义渲染器

可以在其他平台任意扩展,比如小程序,webgl,canvas等,很牛逼的能力。

其他生态

vite

pinia

开启vue3

vue-cli

vue-cli 是vue官方发布vue.js项目的脚手架,用来快速搭建项目。

vue3 对应的 vue-cli版本要 4.5 以上,vue -v查看版本,低于4.5以上可以卸载重装一下。

npm install -g @vue/cli // 全局安装
vue -V // 看看版本

vue create vue-project // 通过脚手架快速搭建项目基本结构 @vue/cli 5.0.8 对应的 vue项目版本是 3.2.13

vite

npm create vite@latest

然后按照提示操作即可!模板有vanillavanilla-tsvuevue-tsreactreact-tspreactpreact-tslitlit-tssveltesvelte-ts。我们选择vue 或者 vue-ts。

vue2 和 vue3 区别

vue3vue2
实现方式new ProxyObject.defineProperty
差异劫持的是整个对象,在data、props、computed中定义的数据就是响应式劫持的是对象中的属性,显式地调用响应式API
优势能够监听整个对象的变化,对数组,以及对象的属性增加删除都能监听到,初始化阶段性能好兼容性能好,支持ie9+,性能好
不足不支持ie11及以下不能监听对象的新增和删除,对数组需要做特别的处理