0

我正在尝试使用Editor ComponentAtlaskit创建一个实时的所见即所得编辑器,但是没有适当的文档来完成工作我对此感到困惑collabEdit,React 给出了一个error: cannot resolve CollabProvider,这到底是什么CollabProvider以及它是如何工作的?

<Editor appearence="comment" collabEdit={{
                useNativePlugin: true,
                provider: Promise.resolve(
                  new CollabProvider(
                    {
                      url: 'http://localhost:3000',
                      securityProvider: () => ({
                        headers: {
                          Authorization: asapToken,
                          'user-ari': userId,
                        },
                        omitCredentials: true,
                      }),
                      docId: 24,
                      userId: 12,
                    },
                    pubSubClient,
                  ),
                ),
                inviteToEditHandler: this.inviteToEditHandler,
                userId: 12,
                isInviteToEditButtonSelected: true
              }} />
4

1 回答 1

0

根据我的经验,您需要使用 Atlaskit 编辑器 + Prosemirror 调整 + y-websocket:https ://demos.yjs.dev/atlaskit/atlaskit.html 。我仍然试图自己弄清楚整个事情。我仍然不明白<img>应该如何启用元素。请参阅https://github.com/yjs/yjs-demos/tree/master/atlaskit的演示源。

注意需要修改atlaskit.jsdemo中的 指向自己的服务器

const provider = new WebsocketProvider('wss://demos.yjs.dev', 'atlaskit', ydoc)

第一个参数是 y-websocket 服务器,另一个参数是协作的频道名称。

持久化 y-websocket 服务器数据的方法还是有点未知。有关详细信息,请参阅https://github.com/yjs/y-websocket/issues/14。如果您计划在一台机器上运行 y-websocket 服务器并且您对简单的文件支持数据库感到满意,那么使用y-leveldb可能就足够了。

于 2020-10-06T11:25:45.843 回答