我已经安装了openfire服务器,并且能够连接converse.js客户端。一切正常。

但是,我不想使用converse.js UI。有没有一种方法可以只使用逆向api,而没有Backbone UI部分。

我尝试删除主干部件,但无法正常工作。

我了解它内部使用strophe,但是交谈具有现成的功能

最佳答案

首先,应该可以简单地将Converse用作引擎或API,并且我已经做了一些工作以使该用例可行。特别是通过将Converse拆分为插件。但是,我还没有像现在这样使用过它,因此目前仍是理论上的。

然而,骨干网至关重要,因为骨干网不仅用于视图。骨干模型和集合用于对数据和对象之间的关系进行建模。因此,您无法删除它。

如前所述,匡威由插件组成。最终版本中包含的插件(通过运行make dist创建)均在src/converse.js中列出。

您可以通过编辑此文件并删除不需要的插件来创建自定义版本。

因此,例如converse-chatview.js插件包含用于渲染聊天框的主干视图。因此可以将其删除。类似地,converse-controlbox.js是呈现控件框的视图,也可以将其删除。
其他要删除的插件是converse-minimize.jsconverse-dragresize.js,它们都是针对UI的。

然而,美中不足的是苍蝇。提供对小组讨论的支持的converse-muc.js包含视图和模型,并且尚未拆分。因此,如果您需要支持小组讨论,则需要包括该插件,而其视图又取决于converse-chatview.js,因此也将包括在内(即使您从converse-config.js删除了它)。

需要发生的是,需要将converse-muc.js分为两个文件,分别为converse-muc.jsconverse-muc-views.js(这可能会在将来的版本中发生)。然后,您可以从构建中删除后者。

因此,很抱歉,如果这不是一个令人满意的答案。

您还可以做的是编写自己的插件,在这些插件中,您可以覆盖或更改其他插件中的任何“模型”,“集合”或“视图”(如果您的插件依赖于它们,因此会在它们之后加载)。但是,这需要您对代码进行一些研究,以对需要完成的工作有一个体面的理解。

编辑:有关插件及其工作方式的更多信息,请查看pluggable.js,这是基础库和relevant converse.js documentation

10-04 17:38