원클릭으로
ng-demo-creator
自动为 MateChat 的 Angular 组件生成 demo 展示组件,并将其注册为 WebComponent
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
自动为 MateChat 的 Angular 组件生成 demo 展示组件,并将其注册为 WebComponent
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Provides comprehensive guidance for MateChat Angular component library including AI chat/agent UI components, installation, API reference, and demo examples. Use when building AI chat interfaces with Angular, implementing conversation bubbles, input components, or any MateChat Angular UI components.
Provides comprehensive guidance for MateChat Vue 3 component library including AI chat/agent UI components, installation, API reference, and demo examples. Use when building AI chat interfaces with Vue 3, implementing conversation bubbles, input components, or any MateChat UI components.
| name | ng-demo-creator |
| description | 自动为 MateChat 的 Angular 组件生成 demo 展示组件,并将其注册为 WebComponent |
此技能用于自动为 MateChat 的 Angular 组件生成 demo 展示组件,并将其注册为 WebComponent,简化组件演示和集成流程。
packages/components-ng/projects/components-ng/srcpackages/components-ng/projects/demo-app/src/app/demopackages/components-ng/projects/demo-app/src/app/showpackages/components-ng/projects/components-ng/src/web-components.ts.component.ts 文件,获取组件元数据.component.ts 文件,识别组件结构和依赖。根据用户需求,生成对应的 demo 组件。帮我生成一个 MarkdownCard 组件的 demo,用于展示 MarkdownCard 组件的基本用法
路径:demo/MarkdownCardDemo/markdown-basic/markdown-basic.component.ts
内容:
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MarkdownCardModule } from '@matechat/ng'; // demo组件使用@matechat/ng引入ng组件
@Component({
selector: 'markdown-basic-demo',
standalone: true,
imports: [CommonModule, MarkdownCardModule],
template: `<mc-markdown-card [content]="'# Hello World'" ></mc-markdown-card>`
})
export class MarkdownBasicDemoComponent {}
路径:show/MarkdownCard/markdown-basic-show.component.ts
内容:
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MarkdownModule } from '@matechat/ng';
import { AngularDemoComponent } from '../../base/AngularDemo';
import { BaseShowComponent } from '../../base/BaseShow/base-show.component';
import { MarkdownBasicDemoComponent } from '../../../demo/MarkdownCardDemo/markdown-basic/markdown-basic.component'; // show组件使用相对路径引入demo组件
@Component({
selector: 'markdown-basic-show',
standalone: true,
imports: [CommonModule, MarkdownModule, AngularDemoComponent, MarkdownBasicDemoComponent],
template: `
<mc-angular-demo [sourceCode]="sourceCode">
<markdown-basic-demo></markdown-basic-demo>
</mc-angular-demo>
`
})
export class MarkdownBasicShowComponent extends BaseShowComponent {
override urls: { type: string; path: string; }[] = [
{ type: 'HTML', path: '/demo/MarkdownCardDemo/markdown-basic/markdown-basic.component.html' },
{ type: 'TS', path: '/demo/MarkdownCardDemo/markdown-basic/markdown-basic.component.ts' },
{ type: 'SCSS', path: '/demo/MarkdownCardDemo/markdown-basic/markdown-basic.component.scss' }, // 可选,demo组件有scss样式才添加
];
constructor() {
super();
this.loadFiles(this.urls);
}
}
路径:packages/components-ng/projects/components-ng/src/web-components.ts
新增内容:
import { MarkdownBasicShowComponent } from '../../demo-app/src/app/show/MarkdownCard/markdown-basic-show.component';
// 在 WebComponentsModule 的 imports 数组中添加 MarkdownBasicShowComponent
@NgModule({
imports: [MarkdownBasicShowComponent]
})
// 定义需要注册的WebComponent映射,使用Map避免重复注册
const webComponentsMap = new Map<string, any>([
// MarkdownCard组件
['mc-ng-markdown-basic', MarkdownBasicShowComponent],
]);
{DemoComponentName}ShowComponent(例如:MarkdownBasicDemoComponent → MarkdownBasicShowComponent){demo-component-name}-show(例如:markdown-basic-demo → markdown-basic-show)mc-ng-{demo-component-name}(例如:markdown-basic → mc-ng-markdown-basic)demo/{ComponentName}Demo/{demo-component-name}/show/{ComponentName}/{demo-component-name}-show.component.ts@matechat/ng 模块/demo/{ComponentName}Demo/{demo-component-name}/{demo-component-name}.component.{html|ts}standalone: true 格式找不到 demo 组件
--demo-dir 参数是否正确.component.ts 文件生成的组件路径错误
--show-dir 参数指向正确的输出目录WebComponent 注册失败
依赖解析错误
--help 查看完整的命令参数说明npm install 确保所有依赖都已正确安装standalone: true 格式的 Angular 组件