2012-04-11 56 views
6

我正在玩一個想法,想從其他網站獲得一些JSON。我發現在node.js中,人們似乎使用http.get來完成這個任務,但是我發現它在Meteor中並不那麼容易。有沒有另外的方法來做到這一點或訪問http的方式,所以我可以打電話給get?我想要一個可以從外部收集數據的時間間隔,以增加客戶端與之交互的數據。我可以在Meteor中使用其他node.js庫嗎?

回答

8

看起來你可以得到require這樣:

var http = __meteor_bootstrap__.require('http'); 

注意,這可能會只在服務器上運行,所以一定要確保它與Meteor.is_server支票保護。

+0

工作就像一個魅力,謝謝! – dsummersl 2012-04-20 17:10:11

+0

關於如何獲得傳遞性依賴關係的任何想法?例如嘗試aws-lib。 – Joscha 2012-08-16 03:22:52

+0

Meteor.is_server現在是Meteor.isServer – 2012-12-14 01:31:55

8

現在用Meteor.http更容易了。首先運行meteor add http,那麼你可以做這樣的事情:

// common code 
stats = new Meteor.Collection('stats'); 

// server code: poll service every 10 seconds, insert JSON result in DB. 
Meteor.setInterval(function() { 
    var res = Meteor.http.get(SOME_URL); 
    if (res.statusCode === 200) 
    stats.insert(res.data); 
}, 10000); 
0

您可以使用Meteor.http如果你要處理的HTTP。要添加其他的Node.js庫,你可以使用meteorhacks:npm

meteor add meteorhacks:npm

創建pacakges.json文件,並添加所有所需的軟件包的名稱和版本。

{ 
    "redis": "0.8.2", 
    "github": "0.1.8" 
} 
相關問題