mcpField
A
angular

angular

github.com/partme-ai开发73567 次安装6 周前更新
代码仓库

关于 angular

面向构建和维护 Angular 应用的开发者,提供 Angular 开发技能。内容涵盖项目搭建、界面组件、路由、表单、依赖注入及性能实践。

主要功能

  1. 01使用 Angular CLI 搭建项目
  2. 02组件、服务、指令和管道
  3. 03路由、惰性加载和导航守卫
  4. 04响应式表单和模板驱动表单
  5. 05RxJS 与依赖注入
  6. 06OnPush 性能实践

适用场景

  1. 01搭建 Angular 应用脚手架
  2. 02构建可复用的界面组件和服务
  3. 03添加路由、惰性加载功能或导航守卫
  4. 04实现表单和基于 Observable 的数据流

安装

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

$npx skills add https://github.com/partme-ai/full-stack-skills --skill angular

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

附带文件LICENSE.txt

详细介绍

适用场景

当用户希望进行以下操作时,请使用此技能:

  • 使用 Angular 构建单页应用(SPA)
  • 创建 Angular 组件、服务、指令和管道
  • 实现路由、延迟加载和导航守卫
  • 使用响应式表单或模板驱动表单
  • 使用依赖注入和 Angular 模块
  • 集成 RxJS 可观察对象和 async 管道
  • 设置 Angular CLI 项目并生成脚手架
  • 使用 OnPush 变更检测优化性能

如何使用此技能

工作流
  1. 识别请求领域,根据用户的问题判断方向(组件创建、路由、表单、服务等)
  2. 应用 Angular 最佳实践,遵循官方风格指南
  3. 生成 TypeScript 代码,采用 Angular 约定和装饰器
  4. 验证解决方案能够编译,并遵循依赖注入模式
1. 项目设置
# Create a new Angular project
ng new my-app --routing --style=scss

# Generate components and services
ng generate component features/user-list
ng generate service core/services/user
2. 组件示例
import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';
import { Observable } from 'rxjs';
import { UserService } from '../../core/services/user.service';
import { User } from '../../core/models/user.model';

@Component({
  selector: 'app-user-list',
  templateUrl: './user-list.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush
})
export class UserListComponent implements OnInit {
  users$!: Observable<User[]>;

  constructor(private userService: UserService) {}

  ngOnInit(): void {
    this.users$ = this.userService.getUsers();
  }
}
3. 使用 HttpClient 的服务
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable({ providedIn: 'root' })
export class UserService {
  private readonly apiUrl = '/api/users';

  constructor(private http: HttpClient) {}

  getUsers(): Observable<User[]> {
    return this.http.get<User[]>(this.apiUrl);
  }

  createUser(user: User): Observable<User> {
    return this.http.post<User>(this.apiUrl, user);
  }
}
4. 使用延迟加载的路由
const routes: Routes = [
  { path: '', redirectTo: 'dashboard', pathMatch: 'full' },
  { path: 'dashboard', component: DashboardComponent },
  {
    path: 'users',
    loadChildren: () =>
      import('./features/users/users.module').then(m => m.UsersModule)
  }
];

最佳实践

  • 使用 OnPush 变更检测和纯管道来提升性能
  • 将代码组织到 Core、Shared 和 Feature 模块中
  • 优先使用构造函数注入;使用 providedIn: 'root' 注册服务,使其成为单例
  • 取消订阅可观察对象以防止内存泄漏(使用 takeUntil 或 async 管道)
  • 在复杂的验证场景中使用响应式表单
  • 延迟加载功能模块,以减小初始包的大小

资源

关键词

angular, Angular CLI, 组件, 服务, RxJS, 依赖注入, 路由, 响应式表单, TypeScript, SPA, OnPush, 延迟加载, 模块, 指令, 管道

评论

支持 Markdown