@atlaskit/editor-plugin-local-id

中文文档
28.0.4发布于 2026/11/02Apache-2.0TypeScriptESM + CJS近 30 天下载 2.8万

@atlaskit/editor-core的本地界面插件

中文使用文档
文档目录7 节
  1. 概览
  2. 主要特点
  3. 如何运作
  4. 安装
  5. 使用量
  6. 支助
  7. 许可证

编辑器插件本地ID

@atlaskit/editor-core的本地界面插件

说明: 这一构成部分是为阿特拉斯系统内部开发而设计的。 外部捐助者将能够使用这一构成部分,但无法提交问题.

概览

本地 ID 插件确保文档中的所有非标志节点都具有独有性 localId 属性。 它结合了两种最佳业绩方法:

  1. 一次性初始化扫描 - 编辑器启动时将缺失的本地ID添加到已存在的节点
  2. 递增交易处理 - 在创建新节点时添加本地ID

主要特点

  • 自动指定本地身份 - 确保没有本地身份证的所有节点都能收到独特的标识符
  • 高效初始化 - 用途 requestIdleCallback 与 requestAnimationFrame 萨法里倒下
  • 递增更新 - 仅在交易期间处理更改了节点
  • 节点过滤 - 忽略节点类型(文本、硬断层、媒体组)
  • 批处理 - 在一个交易中应用所有更新
  • 跟踪错误 - 通过监视器插件对本地ID更改进行可选错误报告
  • 插件动作 - 提供 getNode 财务报告和审定财务报表 replaceNode 本地 ID 查询和修改节点的动作

如何运作

初始化阶段

  • 触发: 使用编辑器视图的初始化生命周期来安排扫描
  • 执行: 在浏览器闲置时间执行单个文档 trversal
  • 时间安排: 用途 requestIdleCallback 与 requestAnimationFrame 萨法里倒下
  • 目的:确保所有现有的节点都有本地的ID

交易处理阶段

  • 触发: 对每次更改文档的交易激活
  • 执行: 只处理交易步骤中新建/更改的节点
  • 业绩: 只扫描已更改的范围, 而不是整个文档
  • 目的: 在新创建的节点中添加本地ID

节点处理

每个节点(在初始化和交易处理期间):

  • 忽略了节点: 总是跳过( 文本, 硬块)
  • 已存在的本地Id 节点: 左转不变
  • 没有本地标识的节点: 生成和指派新的 UUID

交易处理

  • 递增更新: 只有实际更改的处理节点
  • 高效扫描: 用途 step.getMap() 以识别已更改的区域
  • 位置精确度: 获得所有已更改节点的精确文档位置
  • 批处理: 单一交易中应用的所有更新

行为

大小写采取的行动交易影响
没有现有节点 localId (开始)localId 添加所有更改的单一交易
未添加新节点 localId (交易)localId 添加所有更改的单一交易
节点已经有一个 localId不变无交易
只有选择更改未采取行动无交易
切换操作跳过以避免冲突无交易
文档不变提前退出无交易

安装

使用量

仅内部使用

@atlaskit/editor-plugin-local-id是供@atlaskit/editor-core内部使用,并作为您产品中编辑器的插件依赖.

不支持直接使用此组件.

请看 Atlaskit - 本地代号编辑器插件 用于此软件包的文档和示例.

支助

对于内部阿特拉斯人, 访问懒惰的通道 # 帮助编辑器 # 支助或访问 去/编辑-帮助 以提交错误.

许可证

请看 阿特拉斯前端 - 许可证 获取更多的许可证信息.

版本与发布记录

@atlaskit/editor-plugin-local-id 共发布 291 个版本,首次发布于 2025/08/07;过去 12 个月发布了 271 个版本。

版本发布日期距今
28.0.4latest2026/11/025 天前
28.0.32026/10/299 天前
28.0.22026/10/2810 天前
28.0.12026/10/2711 天前
28.0.02026/10/2711 天前
27.0.42026/10/2315 天前

关于 @atlaskit/editor-plugin-local-id 的常见问题

@atlaskit/editor-plugin-local-id 是什么?

@atlaskit/editor-core的本地界面插件

如何安装 @atlaskit/editor-plugin-local-id?

在项目目录运行 npm install @atlaskit/editor-plugin-local-id,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.2.0 || ^19.2.0)、@atlaskit/editor-common(^134.4.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@atlaskit/editor-plugin-local-id 支持 TypeScript 吗?

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

@atlaskit/editor-plugin-local-id 支持 ESM 还是 CommonJS?

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

@atlaskit/editor-plugin-local-id 可以商用吗?

@atlaskit/editor-plugin-local-id 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@atlaskit/editor-plugin-local-id 的下载量有多少?

根据 npm 官方下载统计,@atlaskit/editor-plugin-local-id 在 2026/10/07 – 2026/11/05 这 30 天内被下载 27,993 次,日均约 933 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@atlaskit/editor-plugin-local-id 还在维护吗?

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