BFCache 生命周期恢复:文档代际、陈旧异步结果与副作用对账
后退恢复的页面不是一次普通 reload,JS 堆和旧状态可能原样返回。本文用 pagehide/pageshow 合同、恢复代际和服务端 operation receipt 阻止重复提交与陈旧权限继续使用。
Next.js、React、TypeScript、前端工程化
本专题收录 Web 开发 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
后退恢复的页面不是一次普通 reload,JS 堆和旧状态可能原样返回。本文用 pagehide/pageshow 合同、恢复代际和服务端 operation receipt 阻止重复提交与陈旧权限继续使用。
async/await 只是开始——for await of、AsyncIterator、生成器这些进阶异步能力能优雅处理流式数据。本文讲清 JS/TS 异步进阶:Promise 组合、async 迭代器(for await)、生成器、AbortController 取消、并发控制(p-limit),让异步代码既优雅又可控。
navigator.storage.estimate 只是近似值,persist 返回 true 也不等于用户数据永不消失。本文为 Cache、IndexedDB 与 OPFS 建立 origin 级预算、驱逐检测和分级恢复合同。
基础 SSE 解析之外,生产客户端还要约束恶意长记录、慢消费者和断线重放。本文用有界 framing、按需拉取和提交后游标建立可恢复链路。
分页看着简单,做错就慢、漏数据、翻不动。本文讲清两种分页:offset(简单但有性能与一致性坑)vs cursor(高效稳定但实现复杂)、各自适用、无限滚动的实现、以及分页要返回的元数据(total/hasMore/cursor),让你的 API 分页既快又稳。
端侧模型由 Wasm、JS glue、权重和 tokenizer 共同组成,任一缓存串版都可能静默产出错误结果。本文给出摘要校验、ABI 清单、隔离头决策和可演练回滚方案。
把推理搬进 Worker 只能避免主线程卡顿,不能自动解决串结果、积压和取消。本文设计可解码消息 envelope、合作式停止、硬终止与 generation 隔离协议。
测试 React 不是"什么都测",而是"测对的东西"。本文讲清 React 测试金字塔:什么该单测(工具函数/hooks)、什么该组件测(用户交互)、什么该 E2E(关键流程),工具选型(Vitest/Testing Library/Playwright),以及"测行为不测实现"的核心原则。
CSS 一多就乱:命名冲突、全局污染、优先级战争。本文讲清几种主流 CSS 架构模式:BEM(命名约定)、CSS Modules(局部作用域)、CSS-in-JS(styled-components/emotion)、以及 Tailwind/原子 CSS 的崛起,各自适用与怎么选。
聊天、协作、推送、实时仪表盘——HTTP 做不好"服务端主动推"。本文讲清 WebSocket 的原理、何时该用它(vs SSE vs 轮询)、连接管理(重连/心跳/鉴权)、广播与房间、扩展(多实例下用 Redis pub/sub),以及常见的实时架构选型。
认证授权是每个产品的基础,但 OAuth/OIDC/JWT/Session 的关系很多人没理清。本文讲清现代 Web 认证:Session vs JWT、OAuth 2.0 授权流程、OIDC(认证层)、SSO 实现、token 存储与安全,让你不再被这套概念绕晕。
GraphQL 灵活强大,但上生产有一堆坑:N+1 查询、复杂查询攻击、缓存难、鉴权粒度。本文讲清 GraphQL 生产要点:DataLoader 解决 N+1、深度/复杂度限制、持久化查询、缓存策略、鉴权,让你享受 GraphQL 的灵活而不踩雷。