Published on2025年8月18日Vite 中的模块打包与代码分割BundleresbuildFrontendBuildToolsJavaScriptModulesRollupVite本文深度剖析了现代前端构建工具 Vite 的核心架构与模块处理机制。内容系统性地阐述了 Vite 在开发环境(利用原生 ESM 和 esbuild)与生产环境(利用 Rollup)下采用的不同策略,并重点解析了 Rollup 基于静态与动态导入进行代码打包和代码分割的自动化策略,最后展望了其未来向 Rolldown 的演进。
Published on2025年8月14日V8 引擎垃圾回收机制GarbageCollectionJavaScriptMemoryManagementNodeJSPerformanceV8本文深度剖析了 V8 JavaScript 引擎的垃圾回收 (Garbage Collection, GC) 机制。内容系统性地阐述了其基于“分代假说”的内存布局(新生代与老生代),详细拆解了 Minor GC (Scavenge) 和 Major GC (Mark-Sweep-Compact) 的工作流程,并探讨了现代 GC 项目 Orinoco 如何利用并行、增量和并发技术来最小化主线程的停顿时间。
Published on2025年8月14日性能剖析 Array 与 SetArrayBigODataStructuresJavaScriptPerformanceuseActionState本文深度剖析了 JavaScript 中 Array 和 Set 两种核心数据结构的性能权衡。内容从时间复杂度 (Big O) 的理论分析入手,深入到底层实现(连续内存 vs. 哈希表)的差异,解释了为何在小规模数据集上 Array 常优于 Set。
Published on2025年8月10日使用 TanStack Query 高效管理服务端状态CachingDataFetchingReactServerStateTanstackQuery本文深度剖析了在 React 中管理服务端状态 (Server State) 的权威解决方案——TanStack Query。内容首先阐述了使用 useEffect 和 useState 进行数据请求的常见反模式及其缺陷,然后系统性地介绍了 TanStack Query 如何通过缓存、后台刷新、请求去重等核心机制来解决这些问题。
Published on2025年8月10日React 状态管理的事件驱动设计EventDrivenReactStateMachinesStateManagementuseEffectuseReducer本文深度剖析了 React 开发中因多个 useEffect 相互依赖而产生的“链式效应”反模式。笔记通过对比分析,阐述了其在可维护性、竞争条件和调试方面的缺陷,并提出了一种基于“事件驱动”思想的权威解决方案:结合 useReducer 与单一 useEffect 构建可预测、健壮且易于推理的状态机模型。