2012-04-11 52 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" 
} 
相关问题