众所周知,vue3.0在去年开放了源码,并且今年将发出真正的可用于开发的版本。
那么我们今天就带着大家了解下 vue3.0,到底进化了什么,会对我们的开发有什么影响?
自身性能的变动
一、更快
带来更快的改动主要有两方面
1、vue3重新审视了 vdom,更改了自身对于 vdom的对比算法。vdom从之前的每次更新,都进行一次完整遍历对比,改为了切分区块树,来进行动态内容更新。也就是只更新 vdom的绑定了动态数据的部分,把速度提高了6倍;
2、 把 definePerproty改为了 proxy,对于 JavaScript引擎更加友好,响应更加高效。
二、更小
之前 vue的代码,只有一个 vue对象进来,所有的东西都在 vue上,这样的话其实所有你没用到的东西也没有办法扔掉,因为它们全都已经被添加到 vue这个全局对象上了。
vue3的话,一些不是每个应用都需要的功能,我们就做成了按需引入。用 ES module imports按需引入,举例来说,内置组件像 keep-alive、transition,指令的配合的运行时比如 v-model、v-for、帮助函数,各种工具函数。比如 async component、使用 mixins、或者是 memoize都可以做成按需引入。
写法上将发生的变动
一、加强了 typescript的支持,虽然我们在 vue2已经可以使用 typescript了,但是再 vue3中,进一步加强了对 typescript的支持,很可能以后你就需要用 typescript来写 vue了;
二、改为使用函数式写法,如果你使用 Function-based API,那如下图所示:
我们可以看到,这里面的变化在于 watch、mounted等等生命周期,从属性变成了方法。除此之外我们可以直接把 watch、onMounted等作为了一个方法从 vue中拿出,如下面代码:
开发这样的做法好处之一,就是让我们可以更好地进行 tree-shaking,从侧面上帮助了我们更小的目标。
那么如果你的技术栈是 vue,我们应该怎么去补全,怎么去应对呢?
最好的学习方式,就是跟着大牛进行实战训练。在这里推荐大家去看看网易云课堂的免费直播课程,听听网易特邀前端技术专家们对Vue的讲解。更有其他丰富的前端学习资料免费赠送,包括前端学习的技巧、源码、语法、架构等。
No.1
更多课程安排
2月17日—2月20日,晚上8点
一. 原理:
《今年将正式发布vue3.0,有哪些升级变化》
响应式原理的变化
更快的对比速度
其他的一些变化
二. 技能:
《如何利用TypeScript开发Vue应用》
Vue3.0简介
TypeScript快速入门
使用TypeScript开发Vue应用
三. 技能:
《利用node构建自己的脚手架工具》
如何利用node编写命令运行脚本
脚手架工具常用的包有哪些
带你手撸一个自己的vue-cli
四. 源码:
《从源码探究构建工具之手动实现webpack》
从模块谈起,到底什么是webpack
分析bundile.min.js源码
读完源码我们来写简易webpack
No.2
前端进阶资料
篇幅有限,扫码获取更多资料
免费直播资料,先到先得