2016-11-04 57 views
3

我已經安裝openfire服務器,並且能夠連接converse.js客戶端。它工作正常。Converse.js核心庫

但是我不想使用converse.js UI。有沒有一種方法可以在沒有Backbone UI部件的情況下使用converse API。

我嘗試刪除Backbone部分,但它不工作。

我知道它使用的strophe內部,但匡威有現成的功能

回答

2

首先,它應該可以使用匡威簡稱爲發動機或API,我已經做了一些工作,使這個用例是可行的。特別是通過將Converse分解爲插件。但是,我還沒有像那樣使用它,所以在這一點上它仍然是理論上的。

但是骨幹是至關重要的,因爲它不僅僅用於視圖。骨幹模型和集合用於建模對象之間的數據和關係。所以你不能刪除它。

如前所述,匡威由插件組成。最終版本中包含的插件(通過運行make dist創建)都列在src/converse.js中。

您可以通過編輯此文件並刪除不需要的插件來創建自定義版本。

因此,例如converse-chatview.js插件包含用於呈現聊天框的Backbone Views。所以它可以被刪除。同樣的converse-controlbox.js是一個渲染控制框的視圖,也可以刪除。 要刪除的其他插件將是converse-minimize.jsconverse-dragresize.js,這兩個都是關注用戶界面的。

然而,美中不足。 converse-muc.js,它支持包含視圖和模型的組合視圖,並且尚未拆分。因此,如果您需要支持羣組聊天,那麼您需要包含該插件及其視圖,並依次取決於converse-chatview.js,因此它也將包含在內(即使您從converse-config.js中刪除它)。

需要發生的事情是converse-muc.js需要分成兩個文件,converse-muc.jsconverse-muc-views.js(這可能會在未來版本中發生)。然後你可以從你的構建中刪除後者。

所以,對不起,如果這不是一個超級滿意的答案。

你也可以做的是編寫你自己的插件,在這些插件中,你可以覆蓋或更改其他插件的任何模型,集合或視圖(如果你的插件依賴於它們,並因此加載它們) 。然而,這需要你稍微研究一下代碼,以便對需要做什麼有一個正確的理解。

編輯:欲瞭解更多有關插件和它們如何工作的信息,請看pluggable.js這是底層庫和relevant converse.js documentation

+0

謝謝JC品牌。我試圖在AngularJS中轉換圖書館,這就是我掙扎的地方。我們使用AngularJS進行所有開發。好的部分是我熟悉Backbone,並會試一試。 –

+2

對於Angular.js集成,請看看這裏:https://github.com/jcbrand/converse.js/blob/master/docs/source/other_frameworks.rst還沒有在官方文檔https:// conversejs上。 org,但是一旦下一個版本發佈就會在那裏。 –