- 博客(9)
- 收藏
- 关注
原创 vue3对比vue2产生了哪些变化
vue2.x 早期在开发vue2的时候使用了flow.js帮助捕获类型错误,提高代码的健壮性和可维护性。后期vue通过.d.ts使得vue2对开发者使用上进行了ts类型支持。回答:1.多个应用存在问题2.vue2对象vue3函数,函数就利于tree-shaking3.vue2new Vue()没有像vue3一样将组件和vue实例很好的区分开,含义混淆不清。vue3 使用了monorepo组织代码,使得每一个模块:compile,响应式等都是单独的模块,使用时可以单独安装。vue3.x 使用ts重构源码。
2025-06-01 16:03:44
248
原创 彻底弄清veu3快速diff
快速diff主要是在vue2双端diff的算法上做了改进。vue2的双端diff会频繁移动节点。1.先建立新vdom list的key-index映射keyToNewIndexMap。这里记录了新的节点list的映射。key为节点的key,value为对应下标。如果节点在最长递增子序列中,则不需要移动,只进行复用并patch。目的是对new List中新增和需要移动顺序的节点做处理。以新list为基准,建立旧list中的下标映射。为0表示,旧节点中不存在,所以是新增的。i就是下面遍历newList的下标。
2025-05-28 15:27:02
136
原创 【webpack】高级2
如果某个文件a依赖另一个文件b,当b文件发生变化会重新打包,包名种的hash值会发生变化。此时a文件种对b文件的引入也会发生变化,会误认为a文件也发生了变化,所以a文件也会重新打包,显然是我们不想要的。假如只用了一个promise语法,但是全部引入就会把core-js库的所有文件都引入,会使打包体积变很大,所以推荐采取按需引入。前面的按需加载会提升加载速度,但是如果被拆分出来的包体积很大,那么这么按需加载的包,再加载时会很慢。所以有种策略就是,当浏览器空闲的时候,开始加载按需加载的这些包。
2023-07-17 21:55:27
139
1
原创 vue篇之动态绑定class和style
css属性名可用下划线写法,需加引号:‘background-color’css属性名也可用驼峰写法,加不加引号都可:backgroundColor。1.对象的key就是ccs属性的名字,对象的key不是变量名。注意:对象的key就是类的名字,对象的key不是变量名。注意:对象的key就是类的名字,对象的key不是变量名。2.多个属性建议直接给style绑定一个对象。
2023-05-04 13:27:10
1945
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人