兼容性
本页记录当前源码和包清单明确支持的运行环境。未列出的旧环境不代表一定不可用,但不在默认验证范围内。
开发环境
| 工具 | 支持范围 | 来源 |
|---|---|---|
| Node.js | >= 18 | 根 package.json#engines |
| pnpm | >= 8 | 根 package.json#engines |
| TypeScript | 5.9,strict: true | 工作区配置 |
| Vite | 5.4 | Demo 与 Standalone 构建 |
仓库使用 pnpm workspace。其他包管理器可以在包发布后用于消费,但不用于维护 monorepo。
Vue
@org-tree/vue 的 peer dependency:
json
{
"@org-tree/core": "workspace:*",
"vue": "^3.3.0"
}仓库当前固定 Vue 3.3.13 做开发验证。
包状态
| 包 | 当前版本 | 公共 npm Registry |
|---|---|---|
@org-tree/core | 1.0.0 | 尚未发布 |
@org-tree/vue | 1.0.0 | 尚未发布 |
@org-tree/standalone | 1.0.0 | 尚未发布 |
目前请从 GitHub 仓库工作区运行。正式发布时应先完成类型检查、包产物和发布流程验证,再从文档中移除该提示。
浏览器
Vue 和 Standalone 渲染层依赖以下现代浏览器能力:
- ES Module 或可执行 IIFE/UMD 的现代 JavaScript 环境
Map、Set、Promise、Array.prototype.at- Pointer Events、CSS Transform、SVG
scrollIntoView()
项目没有提供 IE 或 ES5 构建。建议使用仍在维护的 Chrome、Edge、Firefox 和 Safari 版本。
SSR
Core 的布局逻辑本身不依赖 Vue,但公开配置包含 DOM 容器类型。Vue 和 Standalone 层直接访问 document、window、元素尺寸与滚动 API。
Nuxt 等 SSR 应只在客户端创建和挂载树:
vue
<ClientOnly>
<OrgTreeView />
</ClientOnly>不要在服务端模块初始化阶段构造 Standalone 实例。
CSS 与容器
- 内置 Vue 画布高度目前为
100vh。 - 自定义卡片尺寸必须与
layout.nodeSize一致。 - Standalone 的 JS 与 CSS 应来自同一次构建。
- 业务全局样式不应覆盖
.org-tree-node的定位属性或画布 Transform。
数据规模
仓库提供大数据量 demo,但没有对外承诺固定的节点上限。实际性能取决于:
- 同时参与布局和 DOM 渲染的节点数
- 节点卡片复杂度
- 展开/收起频率
- 浏览器与设备性能
上千节点场景建议使用动态加载、控制首屏层级,并在真实业务卡片下做性能基准。