用途:在优化 Angular 应用性能时使用,涉及变更检测、包体积、懒加载与运行时性能。版本为 Angular 21(2025),标签包括性能、优化、包体积、变更检测。
主要能力与 API 变化:无 Zone 变更检测(禁用 zone.js 以提升性能);可延迟视图 @defer(懒加载组件代码);基于信号的响应式(用 signals 替代 zone.js);afterNextRender(无需 zone.js 在渲染后执行代码)。
最佳实践:使用 OnPush 变更检测策略;在 @for 中使用 track(如 track item.id);路由懒加载(loadComponent 动态导入);用 @defer(on viewport)懒加载重组件并配 @placeholder;使用纯管道(pure: true);避免模板中调用函数;图片使用 ngSrc 并设置 width、height、priority;必要时手动使用 ChangeDetectorRef.detectChanges();第三方库用 runOutsideAngular 包裹;使用 provideZonelessChangeDetection 配置;用 afterNextRender 做初始化。
包体积优化:运行 ng build --stats-json 生成统计,再用 npx webpack-bundle-analyzer dist/stats.json 分析;使用独立组件(standalone: true)。
限制:资料未提供具体性能指标、兼容性细节或收费信息。