2017-05-29 42 views
1

我是一名高中生,試圖爲我的學校爲不同目的創建網絡應用程序的網絡。我使用React on Meteor,但我不知道構建這些應用程序的最佳方法是什麼。這些應用程序使用相同的用戶帳戶,如果已經登錄到此網絡中的其他應用程序,它們將能夠自動登錄。我還需要爲每個小應用程序構建管理應用程序。具有相同後端的多個流星應用程序

爲了做到這一點,我認爲我需要使用DDP來連接這些應用程序中的數據?如果是這樣,我應該製作一個後端Meteor應用程序來控制用戶和數據庫,並將前端Meteor應用程序分開以實現所有不同目的?

你會如何推薦我構建這些應用程序?非常感謝!

回答

0

你是對的。一個Meteor應用程序將成爲後端,其他Meteor應用程序將成爲您的主應用程序的客戶端。 DDP是要走的路。一旦使用DDP將客戶端連接到服務器應用程序,您的前端的行爲就好像您的兩個應用程序是同一個應用程序一樣。它工作得很好。

這裏是DDP.connect(URL)DOC:here

這是從官方Meteor guide

共享數據 另一個重要的考慮是如何將你不同的之間共享數據應用。

最簡單的方法是將兩個應用程序指向同一個MONGO_URL,並允許這兩個應用程序直接從數據庫中讀取和寫入數據。由於Meteor支持通過數據庫進行反應,這非常有效。當一個應用程序更改MongoDB中的某些數據時,任何其他連接到數據庫的應用程序的用戶都會立即看到這些更改,這要歸功於Meteor的livequery。

但是,在某些情況下,最好允許一個應用程序通過API作爲主控制器訪問其他應用程序的數據。如果您想要按不同的時間表部署不同的應用程序,並且需要保持數據更改的方式,這可以提供幫助。

提供服務器 - 服務器API的最簡單方法是直接使用Meteor的內置DDP協議。這與Meteor客戶端從服務器獲取數據的方式相同,但您也可以使用它來在不同的應用程序之間進行通信。您可以使用DDP.connect()從「客戶端」服務器連接到主服務器,然後使用返回的連接對象進行方法調用並從發佈中讀取。

+0

非常感謝你的回答!它幫助我很多。 – Leo

+0

我只是有一個後續問題:如果我要在這些客戶端應用程序之一上對數據庫進行更改,請使用Meteor方法執行這些操作嗎? (因爲我沒有直接訪問數據庫,但只有DDP) – Leo

+0

是的,你必須使用方法。始終使用方法在Meteor中插入或更新數據庫。 –

相關問題