尧图精选

Yjs 实战指南:从零跑通 CRDT 实时协同编辑到生产

🕒 发布时间:2026/9/5 18:53:04 📁 来源:尧图网络
Yjs 实战指南从零跑通 CRDT 实时协同编辑到生产【免费下载链接】yjsShared data types for building collaborative software项目地址: https://gitcode.com/GitHub_Trending/yj/yjsYjs 是一个 CRDT不依赖中心服务器就能自动合并冲突的数据结构框架把 Map、Array、Text 变成可共享的数据类型任何一端的修改会自动分发到其他节点并无缝合并。实时协同、离线编辑、撤销重做、版本快照全部内置是构建协作软件的核心层。⚡ 5 分钟克隆并跑通测试这个仓库是 Node.js 库本身没有单独的构建步骤所以跑通的标志是测试套件全绿。确认本机装了 Node.js 22 以上npm 8然后几条命令就能完成克隆、装依赖和验证git clone https://gitcode.com/GitHub_Trending/yj/yjs cd yjs npm install npm test测试覆盖共享数组、Map、文本、XML 类型以及撤销重做、快照等核心路径。跑完可以写个小 demo 找手感创建一个 Doc用doc.getArray(items)拿到共享数组并 push 一个元素就完成了一次共享写入。它还能做什么CRDT 内核与生态往内部看Yjs 本质是一个列表 CRDT数组是任意项的列表文本是字符的列表连续字符还会合并成单个节点省空间Map 也被折成列表每个 key 以最后写入的项为准。每个客户端首次写入时拿到一个随机 53 位 clientID并发操作的排序完全由它决定因此任何节点算出的合并结果都一致。Yjs 本身不绑死网络层点对点P2P直连、WebSocket 中转都行。编辑器生态提供了 ProseMirror、Quill、CodeMirror 等富文本编辑器的现成绑定光标和选区天然共享服务端有 Node.js 同步服务器可用状态能持久化到数据库。共享光标、撤销/重做、版本快照都是一等能力项目对大文档和无限用户数做了专门调优实现细节见 INTERNALS.md。部署前必查三件事上生产前关注三个方向同步传输层选 P2P 还是服务器中转文档状态持久化放在哪通常是 Node.js 服务器加数据库快照的存储格式与版本兼容性大文档下的内存占用与垃圾回收策略。这些细节建议直接对照官方文档 docs.yjs.dev结合自己的场景落地。【免费下载链接】yjsShared data types for building collaborative software项目地址: https://gitcode.com/GitHub_Trending/yj/yjs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →