Angular 最佳实践
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/angular-best-practices。
技能介绍
要解决什么问题
Angular 应用在规模变大后,常见问题往往不是「写不出来」,而是变更检测过频、路由与数据形成异步瀑布、首屏包过大,以及 SSR 与水合配置不当导致的重复请求或 hydration 不匹配。审查代码时若缺少统一优先级,很容易先改模板细节却忽略 OnPush、Signals 或懒加载这类影响更大的项。
技能如何组织内容
本技能把实践按八类优先级排列:变更检测(Signals、ChangeDetectionStrategy.OnPush、Zoneless)、异步与 SSR 预加载、包体积(懒加载路由、@defer、避免桶文件重导出、动态导入第三方库)、渲染(@for 的 track、trackBy、虚拟滚动、纯管道与 computed())、SSR(增量水合、TransferState、非关键 @defer)、模板控制流、状态共置与选择器、以及订阅与 takeUntilDestroyed 等内存清理。
文档内附带新组件、性能审查与 SSR 三类检查清单,适合在写新页面、改数据获取模式或做重构前对照,而不是替代官方性能文档的深度阅读。
适用边界
- 面向 Angular 现代栈(控制流语法、Signals、SSR/水合);老项目若仍重度依赖默认变更检测与 zone.js,需分步迁移。
- 规则侧重性能与架构习惯,不包含业务领域建模或 UI 设计规范。
- 文中「资源」一节指向官方/社区深度文章,复杂场景应结合 Angular 性能指南与 Zoneless 文档验证。
使用场景
- 新页面要接多个接口时,按技能里的异步优先级排查顺序请求与 SSR 客户端瀑布
- 上线前做性能审查,对照清单检查 OnPush、懒加载路由和大列表是否已虚拟滚动
- 计划启用 Zoneless 或全面改用 Signals,需要按变更检测章节梳理组件状态写法
- SSR 项目要配增量水合与 TransferState,避免首屏重复拉数和非关键块过早 hydration
适合人员
- 维护中大型 Angular 单体或微前端、变更检测与包体积已成瓶颈的前端工程师
- 负责 Code Review、需要按统一优先级表标注性能风险而非零散建议的技术负责人
- 正在从默认 zone.js 迁移到 Signals/Zoneless、要核对组件与订阅写法是否一致的升级负责人
- 负责 Angular Universal/SSR 上线,要理顺水合策略与 `@defer (hydrate on …)` 分工的全栈或前端工程师