JavaScript is required

HTML 安装、产物与导出

包名

正式包名是 @relation-graph/html:

npm install @relation-graph/html@3.1.2

旧的 Web Component 包已经停止构建和发布。relation-graph-html 目前只是保留名称,并未实际发布。

发行文件

文件 用途
relation-graph.mjs 浏览器或构建工具使用的 ESM
relation-graph.umd.js <script> 直接加载,暴露 RelationGraph 全局变量
relation-graph.js CommonJS 入口
style.css 图谱和官方 UI 的完整样式
types/ TypeScript 声明
docs/ 随 npm 包发布的完整手册

JavaScript 不会自动注入样式。无论使用 UMD、ESM 还是 npm,都必须加载 style.css。

核心导出

import {
  createRelationGraph,
  RelationGraphCore,
  RGLayouts,
  RGUtils,
  version
} from '@relation-graph/html';
  • createRelationGraph(host, config):创建并挂载实例。
  • RelationGraphCore:高级场景替换或继承核心类。
  • RGLayouts:内置 Base、Tree、Center、Circle、Fixed、Force、Folder 布局类。
  • RGUtils:节点、连线、配置、数学与分析工具。
  • version:当前核心版本。

包同时导出所有公共数据类型、枚举和核心 API 类型。

HTML 平台导出

import {
  trustedHTML,
  toolbar,
  miniView,
  editing,
  registerConnectTarget,
  defineRelationGraphElement
} from '@relation-graph/html';
导出 用途
trustedHTML() 明确允许 renderer 字符串被解析成 HTML
toolbar() 创建官方工具栏插件
miniView() 创建 MiniView 插件
editing() 创建编辑控制器插件
registerConnectTarget() 把普通 DOM/SVG 元素注册为连线目标
defineRelationGraphElement() 显式注册可选的单一 light-DOM 元素

TypeScript

import type {
  RGHtmlConfig,
  RGHtmlInstance,
  RGHtmlPlugin,
  RGHtmlRenderers,
  RGOptions,
  RGJsonData,
  RGListeners
} from '@relation-graph/html';

RGHtmlInstance 同时拥有 RelationGraphInstance 的核心 API,以及 HTML 生命周期方法:whenReady、destroy()、setRenderers()、setLayers()、use()、subscribe() 和 getLayerElement()。

环境要求

  • 运行时需要浏览器 DOM,不支持 SSR 或 hydration。
  • 宿主必须是一个已经连接到文档、具有可计算宽高的 HTMLElement。
  • 浏览器需要支持 ES2020、SVG、Canvas 2D、ResizeObserver 和 CustomEvent。
  • 一个宿主同一时间只能挂载一个实例。

下一页:HTML 配置与布局。