@eventcatalog/visualizer

中文文档
0.0.6发布于 2025/09/19MITTypeScriptESM + CJS近 30 天下载 2470

事件Catalog 视觉器和工作室的反光节点和可视化器组件

中文使用文档
文档目录14 节
  1. 安装
  2. 设置
  3. 1. 进口CSS(所需)
  4. 2. 配置尾风( 需要适当的样式)
  5. 使用量
  6. 基本活动节点
  7. 独立使用
  8. 用回放调试
  9. 节点配置
  10. 道具
  11. 事件节点方案
  12. 事件节点数据
  13. 样式
  14. 特征

@eventcatalog/可视化器

用于可视化事件Catalog节点的反应组件,为ReactFlow所建.

安装

npm install @eventcatalog/visualizer
# or
pnpm add @eventcatalog/visualizer

设置

1. 进口CSS(所需)

组件使用Tailwind CSS类. 在您的 CSS 主文件中导入 CSS 文件 :

/* In your main CSS file (e.g., globals.css, index.css) */
@import '@eventcatalog/visualizer/dist/styles.css';

2. 配置尾风( 需要适当的样式)

可视化器组件使用Tailwind CSS课程. 您必须配置您的构建系统以包含这些类 :

对于 Tailwind CSS v4(后CSS):

将可视化软件包添加到您的 postcss.config.js数字 :

export default {
  plugins: {
    "@tailwindcss/postcss": {
      content: [
        // ... your existing paths
        './node_modules/@eventcatalog/visualizer/dist/**/*.{js,mjs}',
        './node_modules/@eventcatalog/visualizer/src/**/*.{js,ts,jsx,tsx}',
      ],
    },
  },
};

用于 Tailwind CSS v3( Config 文件) :

将可视化软件包添加到您的 content 路径进入 tailwind.config.js数字 :

module.exports = {
  content: [
    // ... your existing paths
    './node_modules/@eventcatalog/visualizer/dist/**/*.{js,mjs}',
    './node_modules/@eventcatalog/visualizer/src/**/*.{js,ts,jsx,tsx}',
  ],
  // ... rest of config
}

重要吗:没有这种配置,可视化组件使用的Tailwind类会从您的 CSS 构建中被清除出,从而产生未被样式的组件.

使用量

基本活动节点

import { EventNode } from '@eventcatalog/visualizer';

// Use as standalone component
<EventNode
  id="event-1"
  data={{
    name: "User Registered",
    version: "1.0.0",
    summary: "Fired when a user registers for the first time",
    mode: "full",
    owners: ["team-auth", "team-users"],
    sends: ["user-profile-updated"],
    receives: ["user-registration-request"]
  }}
  selected={false}
/>

独立使用

事件节点是一个纯视觉组件,可以在任何地方使用:

import { EventNode } from '@eventcatalog/visualizer';

<EventNode
  id="event-1"
  data={{
    name: "User Registered",
    version: "1.0.0",
    summary: "Fired when a user registers for the first time",
    mode: "full",
  }}
  selected={false}
/>

用回放调试

对于 ReactFlow 集成,请用 ReactFlow 手柄将事件节点包入:

import { ReactFlow, Handle, Position } from '@xyflow/react';
import { EventNode } from '@eventcatalog/visualizer';

// Create a ReactFlow node wrapper
function ReactFlowEventNode(props) {
  const { id, data, selected } = props;
  return (
    <>
      <Handle type="target" position={Position.Left} />
      <Handle type="source" position={Position.Right} />
      <EventNode id={id} data={data} selected={selected} />
    </>
  );
}

const nodeTypes = {
  event: ReactFlowEventNode,
};

const nodes = [
  {
    id: '1',
    type: 'event',
    position: { x: 100, y: 100 },
    data: {
      name: 'User Registered',
      version: '1.0.0',
      summary: 'Fired when a user registers',
      mode: 'full',
    },
  },
];

export default function MyFlow() {
  return (
    <ReactFlow
      nodes={nodes}
      nodeTypes={nodeTypes}
    />
  );
}

节点配置

可视化器还导出节点配置 :

import { eventConfig } from '@eventcatalog/visualizer';

// Access node metadata
console.log(eventConfig.type); // 'event'
console.log(eventConfig.color); // 'orange'
console.log(eventConfig.icon); // Zap component

道具

事件节点方案

Prop类型默认说明
idstring所需经费节点标识
dataEventNodeData所需经费节点数据
selectedbooleanfalse是否选择了节点

事件节点数据

财产类型说明
namestring事件名称
versionstring事件版本
summarystring事件简介
mode'simple' | 'full'显示模式
ownersstring[]事件所有者
sendsstring[]此事件发送的消息
receivesstring[]此事件收到的消息

样式

组件以Tailwind CSS课为样式. 一揽子计划包括:

  • 尾风类: 组件中使用的所有标准Tailwind公用事业
  • 自定义 CSS: 最小自定义样式导出于 dist/styles.css
  • 响应: 组件在不同屏幕大小之间工作
  • 可主题: 容易自定义 Tailwind 的主题系统

特征

  • ✅ 纯视觉组件: 视觉和反应之间的清洁分离Flow关切
  • ✅ 独立使用: 在 ReactFlow 上下文之外完美工作
  • ✅ 类型脚本: 带有适当类型的完整类型脚本支持
  • ✅ 自定义样式: 完成所有需要的 Tailwind 类的 CSS 捆绑
  • ✅ 可配置: 支持简单和完整的显示模式
  • ✅ 框架不可知论: 可以为任意流库所包裹(ReactFlow等)
  • ✅ 无依赖: 没有反应Flow依赖,只是纯反应组件

版本与发布记录

@eventcatalog/visualizer 共发布 5 个版本,首次发布于 2025/08/11;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.0.6latest2025/09/191.2 年前
0.0.52025/08/151.2 年前
0.0.42025/08/121.3 年前
0.0.32025/08/121.3 年前
0.0.22025/08/111.3 年前

关于 @eventcatalog/visualizer 的常见问题

@eventcatalog/visualizer 是什么?

事件Catalog 视觉器和工作室的反光节点和可视化器组件

如何安装 @eventcatalog/visualizer?

在项目目录运行 npm install @eventcatalog/visualizer,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18.0.0)、react-dom(>=18.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@eventcatalog/visualizer 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@eventcatalog/visualizer 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@eventcatalog/visualizer 可以商用吗?

@eventcatalog/visualizer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@eventcatalog/visualizer 的下载量有多少?

根据 npm 官方下载统计,@eventcatalog/visualizer 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,470 次,日均约 82 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@eventcatalog/visualizer 还在维护吗?

最新版本 0.0.6 发布于 2025/09/19(1.2 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/08/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。