Next.js 构建博客之资源抓取
本文探讨在基于 Next.js 和 GitHub Issues 构建博客时,如何通过递归调用 GitHub API 实现 issues 和 labels 的批量抓取,并利用 pnpm workspace 管理 Monorepo 架构,以应对 API 分页和速率限制的挑战。
本文探讨在基于 Next.js 和 GitHub Issues 构建博客时,如何通过递归调用 GitHub API 实现 issues 和 labels 的批量抓取,并利用 pnpm workspace 管理 Monorepo 架构,以应对 API 分页和速率限制的挑战。
文章记录了多次前端面试中的技术问题,涵盖 Promise 机制、事件循环、框架实现细节、性能优化和工程化实践,反映了对底层原理和架构设计的深度探讨。
本文深入解析了 resso 状态管理库的实现机制,通过 Proxy 劫持对象属性,结合 useSyncExternalStore 和 unstable_batchedUpdates 实现高效的响应式更新,探讨了其在 React 项目中的轻量级替代方案。
文章通过分析 Koa 源码,深入探讨了其核心的洋葱模型中间件执行机制。重点解析了 `koa-compose` 库如何利用递归和 Promise 实现中间件的顺序与逆序执行,解释了输出 1,3,4,2 的底层原理。
ES2023 为 JavaScript 数组引入了 toReversed、toSorted、toSpliced 和 with 方法,这些非破坏性方法在保持原数组不变的同时,提供与 reverse、sort、splice 等传统方法相同的功能,旨在简化不可变数据操作并提升代码可读性。
文章探讨了传统模板引擎在语法提示、类型检查和学习成本上的不足,并提出了使用 JSX 作为替代方案。通过 preact-render-to-string 库将 JSX 转换为字符串,结合 TypeScript 和构建工具如 webpack,实现在 Node.js 环境中编写类型安全且开发体验更优的模板。
本文探讨在 Vue 中基于 ahooks 思路,通过重构 EventEmitter 类实现一个支持自动清理的 useEventEmitter Hook,以简化组件间发布订阅模式,避免手动管理依赖和卸载。
在 pnpm monorepo 架构中,TypeScript 项目常因路径别名问题导致导入时包含冗余的 `src` 目录。本文探讨如何利用 Node.js 的 `exports` 字段,通过配置子路径映射来简化导入路径,并解决相关的 TypeScript 类型定义和模块解析问题。
文章从开发异步队列库时遇到的实际类型推导问题切入,系统性地探讨了 TypeScript 中的类型收窄机制。详细介绍了 typeof 守卫、条件语句、相等运算符、in 运算符、instanceof、赋值、类型谓词以及联合类型在接口中的应用,并通过示例展示了如何利用这些技术优化代码的类型安全性和可维护性。
文章以 nginx 的核心功能——反向代理和负载均衡为切入点,通过配置示例和对比开发工具(如 Vite)中的代理设置,阐释了其工作原理与实现细节,并提供了常见命令参考。