2016-09-30 121 views
2

我想共享服務器和客戶端code.I之間的varible已經宣佈在/lib/environment.js全局變量如何共享服務器和客戶端的代碼之間的全局變量流星

test = null; 

在server/main.js中,當我收到一個POST請求時,我正在更新這個變量。

test ="hello"; 

問題是,如果我嘗試訪問client/main.js文件中的同一個變量,則該值不會更新爲新值。 我不理解這種行爲。

+0

那麼,客戶端(瀏覽器)和服務器不會共享這些變量(即使它們包含相同的文件),因爲它們是單獨的過程,通常不會在同一臺計算機上運行。 AFAIK,你將不得不使用WebSockets或類似SignalR從服務器發送一個值到客戶端 –

+0

謝謝@JakubJankowski – Heisenberg

回答

6

由於Meteor以這種集成的方式工作,它使您認爲這是可能的,但服務器進程將在服務器上運行,並且客戶端在瀏覽器中運行。容易忘記。

要共享數據,最簡單的方法是使用一個集合,如果發佈和訂閱的集合可以爲您提供與全局變量相同的效果。

否則,您可以使用Meteor.call()將數據從客戶端傳遞到服務器。

相關問題