REST API 版本控制策略
API 改不动是常态,怎么在不破坏老客户端的前提下演进?本文讲清 API 版本控制的几种方式(URL 路径/Header/查询参数/内容协商)、各自的优劣、什么时候要 breaking change、弃用策略,以及一套"向前兼容优先 + 必要时大版本"的实践。
Next.js、React、TypeScript、前端工程化
本专题收录 Web 开发 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
API 改不动是常态,怎么在不破坏老客户端的前提下演进?本文讲清 API 版本控制的几种方式(URL 路径/Header/查询参数/内容协商)、各自的优劣、什么时候要 breaking change、弃用策略,以及一套"向前兼容优先 + 必要时大版本"的实践。
多个包/项目分散在多仓库难共享代码,Monorepo 解决这个。本文讲清 Monorepo 的价值与代价、pnpm workspace 基础、Turborepo(轻量、任务编排、缓存)与 Nx(功能全、插件生态)的对比,以及什么团队该上 Monorepo。
给首页加上 COOP/COEP 可能启用 SharedArrayBuffer,也可能同时切断 OAuth Popup、第三方 iframe 和 CDN 资源。本文用依赖闭包、报告期和运行时能力门完成迁移。
产品一大,UI 就乱——颜色字号各写各的、组件不统一。设计系统解决这个。本文讲清 Design Tokens(设计变量化的原子)、组件库分层(token→基础组件→业务组件)、主题切换、以及怎么让设计和开发用同一套语言,而不是各自为政。
函数式不是学院派的玄学,它能让代码更可预测、更好测、更少 bug。本文讲清在 TS 里实用的 FP 思想:纯函数、不可变、函数组合、map/filter/reduce、Option/Either 处理空值与错误,以及"别走极端"——实用地用 FP,而非追求 monad 教条。
缓存是性能优化的瑞士军刀,但乱用会出脏数据。本文讲清 Web 的多层缓存:浏览器(HTTP 缓存/Service Worker)、CDN、服务端(Redis/内存)、数据库(查询缓存),每一层缓存什么、失效策略、以及缓存一致性怎么保。
给组件加上 @deprecated 不等于消费者已经迁移。本文用版本化生命周期注册表、静态与运行时用法闭包、幂等 Codemod 和视觉/可访问性门禁,让旧组件可量化退出并随时回退。
性能不是"偶尔优化",是持续保持。性能预算(Performance Budget)给"快"定一个不可逾越的线。本文讲清预算怎么定(JS/图片/CSS 各分多少)、CI 自动检查、超预算怎么办(砍功能/优化/谈判),让团队不再"慢了再优化"。
前端项目大到单仓库扛不住时,微前端像微服务一样拆。本文讲清微前端的动机与代价、几种实现(Module Federation/iframe/Web Components/路由分发)、各自优劣,以及最关键的——大多数团队不该上微前端(单仓库够用)。
动画卡,90% 是触发了重排重绘。本文讲清 CSS 动画性能:只动画 transform/opacity(合成层,不触发 layout)、will-change 的用法与误用、避免 layout thrashing、动画的 prefers-reduced-motion,让你的动画丝滑 60fps。
浏览器报错需要上下文,但整页录屏、请求体和控制台很容易带走令牌与个人数据。本文定义客户端先脱敏、按预算采集的 Support Bundle,让支持人员可复现界面故障又不默认复制用户会话。
Next.js 部署不只 Vercel 一种——自托管(Docker/Node/Static)、边缘、混合各有取舍。本文讲清 Next.js 的几种部署模式(Vercel 托管、Docker standalone、静态导出、自建 Node)、各自的适用与代价,以及 NEXT_PUBLIC 环境变量在 build vs run 的坑。