前端面试回顾

文章记录了多次前端面试中的技术问题,涵盖 Promise 机制、事件循环、框架实现细节、性能优化和工程化实践,反映了对底层原理和架构设计的深度探讨。

resso 源码解析

本文深入解析了 resso 状态管理库的实现机制,通过 Proxy 劫持对象属性,结合 useSyncExternalStore 和 unstable_batchedUpdates 实现高效的响应式更新,探讨了其在 React 项目中的轻量级替代方案。

koa洋葱结构解析

深入解析Koa中间件洋葱模型的实现原理,通过源码分析koa-compose库如何利用递归与Promise将中间件串联,并解释异步执行顺序(1,3,4,2)背后的微任务调度机制。

[javaScript]ES2023 引入非破坏性方法

ES2023 为 JavaScript 数组引入了 toReversed、toSorted、toSpliced 和 with 方法,这些非破坏性方法在保持原数组不变的同时,提供与 reverse、sort、splice 等传统方法相同的功能,旨在简化不可变数据操作并提升代码可读性。

使用jsx来编写模板

文章探讨了传统模板引擎在语法提示、类型检查和学习成本上的不足,并提出了使用 JSX 作为替代方案。通过 preact-render-to-string 库将 JSX 转换为字符串,结合 TypeScript 和构建工具如 webpack,实现在 Node.js 环境中编写类型安全且开发体验更优的模板。

hook下如何书写发布订阅

本文探讨在 Vue 中基于 ahooks 思路,通过重构 EventEmitter 类实现一个支持自动清理的 useEventEmitter Hook,以简化组件间发布订阅模式,避免手动管理依赖和卸载。

monorepo 如何解决别名问题

在 pnpm monorepo 架构中,TypeScript 项目常因路径别名问题导致导入时包含冗余的 `src` 目录。本文探讨如何利用 Node.js 的 `exports` 字段,通过配置子路径映射来简化导入路径,并解决相关的 TypeScript 类型定义和模块解析问题。