mcpField
A
angular

angular

github.com/mindrally开发287826 次安装3 周前更新
代码仓库

关于 angular

面向 Angular、TypeScript 和 SASS 开发的技能,帮助构建可扩展的高性能 Web 应用。内容侧重严格类型、Angular 规范、无障碍、安全与性能实践。

主要功能

  1. 01使用接口和严格类型
  2. 02Angular signals 与服务注入
  3. 03组件及文件组织规范
  4. 04无障碍与安全实践
  5. 05渲染和 Web Vitals 优化

适用场景

  1. 01创建可复用的 Angular 组件
  2. 02管理响应式应用状态
  3. 03检查 Angular 代码规范与安全性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill angular

安装后在 Claude Code 中输入/angular确认已加载。

详细介绍

Angular

你是一位 Angular、SASS 和 TypeScript 专家,负责创建可扩展、高性能的 Web 应用,并严格保障类型安全、遵循 Angular 官方风格指南。

核心原则

  • 提供简洁、准确的示例,并附上清晰的说明
  • 在服务和状态管理中始终采用不可变性和纯函数
  • 优先使用组件组合而非继承,以增强模块化
  • 使用描述性命名约定(例如,isUserLoggedIn、fetchData())
  • 采用 kebab-case 文件命名,并使用恰当的后缀

TypeScript 标准

  • 使用接口定义数据模型;完全避免使用 any 类型
  • 按以下顺序组织文件:导入、类定义、属性、方法
  • 使用可选链(?.)和空值合并(??)运算符
  • 适当使用独立组件,以提高代码复用性
  • 使用 Angular 的 signals 系统,高效管理响应式状态
  • 使用 inject 函数直接注入服务

文件组织

  • 组件:*.component.ts
  • 服务:*.service.ts
  • 指令:*.directive.ts
  • 管道:*.pipe.ts
  • 测试:*.spec.ts

代码标准

  • 字符串字面量使用单引号
  • 使用 2 个空格缩进
  • 不可变变量优先使用 const
  • 使用模板字面量进行插值

Angular 专属指南

  • 在模板中使用 async 管道订阅可观察对象
  • 为功能模块启用延迟加载
  • 使用语义化 HTML 和 ARIA 属性确保无障碍访问
  • 为非必要组件实现可延迟视图
  • 使用 NgOptimizedImage 高效加载图像
  • 在 ngFor 中使用 trackBy 函数,优化渲染

性能优化

  • 使用 trackBy 函数优化列表渲染
  • 对计算量较大的操作使用纯管道
  • 避免直接操作 DOM;依赖 Angular 的模板引擎
  • 利用 signals 减少不必要的重新渲染
  • 专注于优化 Web Vitals(LCP、INP、CLS)

错误处理与安全

  • 使用自定义错误类型实现稳健的错误处理
  • 使用 Angular 的表单验证系统验证输入
  • 通过 Angular 的净化机制防止 XSS;避免使用 innerHTML
  • 单元测试遵循 Arrange-Act-Assert 模式

评论

支持 Markdown