2014-02-07 154 views
3

我想嵌入一個流星應用程序(a)託管在服務器(A)內的網頁(b)在網絡服務器(B)上運行(在我的例子中流星應用程序是在meteor.com上運行,網頁(b)在Drupal上構建,並在運行nginx和php的另一臺服務器上託管)。我發現了以下可能的解決方案,但沒有一個能夠很好地工作,或者很優雅在非流星網頁中嵌入流星應用程序

  • 在網頁(b)的iframe中插入應用程序(a):沒有整合好,笨拙的解決方案。
  • 在網頁(b)中添加已編譯的流星應用程序js腳本並提供必要的meteor_runtime_config指示應用程序連接到服務器(A):此工作和應用程序已嵌入,我可以訪問Meteor js對象,但應用程序被包裝在<html><body>標籤中,所以它沒有多大用處,因爲我無法真正將它放在頁面中。這感覺就像和流星戰鬥,而不是和它一起玩。
  • 通過DDP客戶端(如https://github.com/eddflrs/meteor-ddp)連接到流星服務器:雖然這提供了流星的大部分實時數據傳輸功能,但感覺好像我並沒有真正使用流星,因爲我必須在網頁中實現所有js邏輯b)讓流星只處理數據傳輸。

是否有任何其他的解決方案或改進任何前面提到的那些方式?這是甚至可能的,或者我是否試圖以一種沒有設計的方式來使用流星? 我看到它在github上提到「我們支持將流星內容嵌入非流星內容」https://github.com/meteor/meteor/issues/546#issuecomment-11458672,但這實際上涉及了什麼?

+1

你有沒有想出一個適用於此的解決方案?即使你沒有,我也很想聽聽爲什麼不這樣做,這會爲我節省很多時間 –

+1

我最終最終在一個DDP js客戶端上構建了js代碼,它幾乎否定了流星的使用反應式魔術,但至少我通過DDP保留了實時內容更新。我不確定流星在這個問題上的地位是什麼,因爲它已經超過了我最後一年的工作時間,所以也許事情已經發生了變化。 –

回答

5

github的參考是無足輕重的。它討論了在流星應用程序中集成第三方小部件。

你應該看看來自流星談谷歌組的this threadthis one

基本上你的假設是正確的。目前,流星並不是用於構建嵌入其他地方的最令人愉快的解決方案。

此外,還存在有關從外部域中嵌入資源的安全問題和後果。

我真的看看FirebaseAPISpark他們提供了一個簡單的後端到任何JavaScript前端。但是,正如你已經指出的那樣,你需要自己連接你的前端代碼。但它應該比DDP更容易。

+0

感謝您提供的鏈接和建議,我不介意從頭開始創建前端,我只是不想重新發明諸如反應性等概念。 DDP是非常直接的工作,我正在建立我自己的基礎設施,所以我認爲這是目前最好的解決方案。 –