بنقرة واحدة
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 组件