摘要:
本文比较了NPM、Yarn 和 pnpm 三种包管理工具的特点,重点分析了它们在安装速度、依赖管理、磁盘空间使用、依赖冲突处理等方面的差异,重点介绍了pnpm的依赖组织结构。 阅读全文
摘要:
本文解析了 Vue3 组件初次渲染的流程,涵盖应用程序初始化、核心渲染步骤,以及 vnode 的创建和渲染,探讨了 Vue3 内部机制及其跨平台实现的关键细节。 阅读全文
摘要:
Vue2存在源码可维护性差、性能问题和API兼容性不足等缺点。Vue3通过monorepo管理、TypeScript开发、性能优化和引入Composition API等方式,显著提升了源码可维护性、编程体验、TypeScript支持和逻辑复用实践,从源码、性能和语法API三方面进行了优化。 阅读全文
摘要:
Vue 3在编译template过程中,会通过patchFlags优化虚拟DOM更新,提升性能。这些标志通过位运算进行操作,包括动态文本、类、样式、属性、静态提升等。patchFlags的使用极大地提高了diff算法的效率。 阅读全文
摘要:
这篇文章记录了在Vue3中如何在全局或者组件内部注册自定义事件,并通过阅读源码探索自定义事件的实现原理。 阅读全文
摘要:
Babel 是一个多功能的 JavaScript 编译器,主要用于将现代 JavaScript 语法转换为向后兼容的代码。其工作流程包括解析(parse)、转换(transform)和生成(generate)三个步骤,最终生成兼容代码和源码映射。通过自定义插件,开发者可以灵活地操作 AST,实现代码转换。 阅读全文
摘要:
这篇笔记记录了Vue3的源码中响应式模块的部分内容,介绍了Vue3是如何通过Proxy拦截对Map、Set等集合类型的操作来实现响应式的 阅读全文
摘要:
vue3的reactivity模块的baseHandlers主要为普通对象和数组的Proxy实现了拦截操作的处理,通过3个类分别实现了getter和setter等操作的拦截,并对一些数组原型上的方法做了特殊处理,使得数组操作可以更好地适配vue的响应式系统。 阅读全文
摘要:
本文介绍了堆这种数据结构的性质,以及堆排序算法,最后介绍了堆的相关应用场景。 阅读全文
摘要:
本文由leetcode的字符异位词分组题目引入,记录了javascript中对象的键的数据类型以及存在的数据类型转换现象。 阅读全文