Vue3相比Vue2的优势表示在哪些方面
Admin 2022-07-01 群英技术资讯 1318 次浏览
这篇文章主要介绍“Vue3相比Vue2的优势表示在哪些方面”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3相比Vue2的优势表示在哪些方面”文章能帮助大家解决问题。Vue2已经非常优秀,且具备完善的社区和生态,但是Vue3仍然在源码、性能和语法 API 三个大的方面进行了优化
源码管理方式采用monorepo的方式进行管理,monorepo 把这些模块拆分到不同的 package 中,每个 package 有各自的 API、类型定义和测试。这样使得模块拆分更细化,职责划分更明确,模块之间的依赖关系也更加明确,开发人员也更容易阅读、理解和更改所有模块源码,提高代码的可维护性
Vue2时期选择的是flow,由于flow自身存在一些功能上的短板,且TS发展势头更好,Vue3选择使用TS编写代码,也可以更好的支持TS提升开发体验
主要从两个方面进行了源码体积优化:
移除一些冷门API,比如 filter、inline-template 等
API减少,必然会减少代码体积,这点非常容易理解
引入tree-shaking 减少打包体积
tree-shaking 依赖 ES2015 模块语法的静态结构(即 import 和 export),通过编译阶段的静态分析,找到没有引入的模块并打上标记,这个技术在webpack等打包工具上已经非常普及
在Vue3中的应用:我们大概率不会使用Vue提供的全部API,总会有一些冷门的、业务场景单一使用不到的API,那么在打包的过程中就可以将这些没有被用户使用的API移除,减少打包体积
Vue2之前使用Object.defineProperty进行数据劫持
Object.defineProperty(source, key, {
get(){
// todo...
},
set(){
// todo...
}
})
其存在一些缺陷
key是什么,并不能很好的监听到对象属性的添加、删除data,导致深层嵌套数据结构造成性能负担,Vue3使用Proxy进行数据劫持,可以很好的规避Object.defineProperty带来的缺陷p = new Proxy(source, {
get() {
// todo...
},
set() {
// todo...
}
})
Vue3 在语法方面进行了优化,主要是提供了 Composition API替换原本的Options API
Options API提供了 methods、computed、data、props以及各个阶段的生命钩子选项,开发者可以在每个API中做着对应的事情,各司其职,上手和理解成本非常低,对于新手开发者非常友好。使用其开发小型项目时代码的阅读性、维护性等也是可观的,但是当遇到大型项目或者较为复杂的业务逻辑时,代码将会变得非常难以维护,常常导致修改一个功能需要在代码中跳转多个地方,一个功能的代码分散在各个地方,造成阅读和理解成本直线增加,Composition API,它有一个很好的机制去解决这样的问题,就是将某个逻辑关注点相关的代码全都放在一个函数里,这样当需要修改一个功能时,就不再需要在文件中跳来跳去
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了JavaScript队列数据结构详解,队列是一种先进先出的数据结构,队列中允许两种基础操作,也就是插入和删除,也就是入队和出队
点名器对于学生来说应该都很熟悉,那么我们如何使用代码来实现一个随机点名器呢?其实很简单,下面就分享用JavaScript实现随机点名器的详细代码。
使用:Easy Mock创建api接口注意:若弹出该invalid or unexpected token错误提示信息,说明编写的数据格式有问题,修改为正确格式即可创建成。随后可以在postman中进行验证:ajax通过GET方法获取数据:根据获取出来得阶段数据来更改相对应得进度:!DOCTYPE htmlhtml l
本文依旧给大家分享Javascript设计模式的内容,这篇主要介绍Javascript适配器模式,那么究竟Javascript适配器模式是什么呢?有什么用?如何实现?接下来我们一一了解清楚。
这篇文章主要介绍了Javascript 解构赋值详情,解构赋值是ES6中的特性,可以将对象或数组中的值同时赋值给多个变量。西阿棉一起来看看详细内容吧,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008