Tag: meteor

如何一起使用node-imap和Meteor?

我正在寻找一种方式来访问像Gmail和使用meteor的IMAP邮件帐户。 我find了node-imap,但是由于它是一个NPM模块,所以我很难让NPM模块在Meteor中工作。 使用Meteor访问IMAP帐户有什么好方法吗?

你如何以及在哪里定义你的meteor数据库结构?

我正在看Meteor的文档,它给出了几个例子。 我对两件事情有点困惑:首先,你在哪里build立数据库(牢记安全)? 我是否全部保存在服务器/私人文件夹中以限制客户端访问? 其次,我如何定义结构? 例如,他们显示的代码: Rooms = new Meteor.Collection("rooms"); Messages = new Meteor.Collection("messages"); Parties = new Meteor.Collection("parties"); Rooms.insert({name: "Conference Room A"}); var myRooms = Rooms.find({}).fetch(); Messages.insert({text: "Hello world", room: myRooms[0]._id}); Parties.insert({name: "Super Bowl Party"}); 我不明白集合的结构是如何定义的。 他们只是能够定义一个集合,并将任意数据扔进它?

Meteor.js – 服务器上的全球事件?

Meteor.js有办法在服务器上发出全局事件吗? 例如 // how to set make myEmitter available across files/packages ? myEmitter = new Npm.require('events').EventEmitter; if(Meteor.isServer){ Meteor.methods({ 'foo' : function(){ myEmitter.emit('fooEvent', { 'bar' : 'hello!'}); } }); } 和 if(Meteor.isServer){ function doFoo(){ console.log('Foo done !'); } myEmitter.on('fooEvent', doFoo); }

meteor需要sudo来运行

以前我只能通过运行mrt来启动Meteor 0.6.6.3。 最近,meteor0.7.0.1将无法正常运行,除非我作为根与sudo mrt运行它。 像MONGO_URL这样的环境variables需要root来设置它。 任何想法发生了什么? 我在Mac OSX上使用Mountain Lion。

从meteor服务器build立TCP连接

我需要一些关于meteor的build议。 我想将现有的express / node.js应用程序移到meteor框架中,以利用服务器存储 – MongoDB和框架的MVC性质。 我的应用程序需要一个重大的重构。 我目前的应用程序服务器build立TCP连接到一个远程主机,每秒吐出string数据。 这个应用程序服务器处理来自远程主机的string数据,然后将其发送到应用程序客户端。 由于meteor使用node.js,我想这将是简单的移动我的当前应用程序服务器代码的TCP连接进入meteor服务器代码的一部分。 这是一个坚实的逻辑还是在草地上有一条蛇? 当然,总是尝试一下,看看会发生什么。 我把这样的东西放在Meteor.startup() var net = Npm.require('net'), dataStream = net.createConnection(5000,"localhost"); dataStream.setEncoding('utf8'); dataStream.on('data', function(data) { var line = data.trim(); Messages.insert({name:"line",message: line, time:Date.now()}); }); 我正在接受关于在光纤之外运行的Meteor代码的投诉。 正在更新一个客户端和服务器可见的集合是否正确的方式去这里? 我假设更新将保持在服务器上,并推送到客户端,我将有一个视图来显示更改。

Meteor / Node.js:for循环中的多个http请求,在一个定时间隔内均匀分布?

尊敬的JS开发人员 – 我试图在一个Meteor应用程序中按时间间隔进行一批服务器端http请求,并根据收到的响应更新MongoDB数据库。 每15秒钟一批请求应该开始,并且请求的集合应该在15秒内均匀分布(而不是一次性地泛滥API服务器)。 为了均匀地传播请求,我试图使用setTimeout方法。 有两个参数在每个http请求之间改变,这些不同的值存储在两个单独的数组中。 而不是拼出每个http请求(如果您计算两个数组之间的所有组合,20 * 4 = 80),我已经在for循环中编写了一个for循环来大大整合代码。 对于每个响应,如果返回OK,则两个switch语句通过评估它的i和y值来处理响应的处理方式。 问题:我似乎在“回拨地狱”。 当响应从服务器到达时, i和/或y的值有时已经被循环系统增加了,所以我不能100%确定地用switch语句处理响应。 updatedb()函数最终对错误响应执行特定的计算(将它们存储在数据库中的错误位置)。 希望有人可以提供一些指导,我可以做不同的事情来解决这个问题,因为我在智慧的结尾。 PS我试图用recursion的方法做到这一点,但得到了Maximum call stack size exceeded错误。 test = function test(){ // API base URL var baseURL = "https://example.com/"; // Array1 var array1 = ['item1', // i = 0 'item2', // i = 1 'item3', // i = 2 'item4', […]

将二进制数据从Nodejs缓冲区写入Meteor客户端的blob

我试图创build一个CSV文件,将在服务器上以UTF-16LE编码进行保存,然后将结果传递给客户端。 这就是我在Coffeescript中所做的: Meteor.methods { iconv: (data, from="UTF-8", to="UTF-16LE") -> Iconv = Meteor.require('iconv').Iconv iconv = new Iconv(from, to) res = iconv.convert(data) res } 现在,如果我用线路从服务器写入文件 fs.writeFileSync('/tmp/test.csv', res) 该文件正确生成。 但是,我想避免在服务器上创build一个文件,并将其直接保存在客户端(使用filesaver库 )。 示例客户端代码如下所示: exportToCsv = (data="tête", filename) -> callback = (err, res) -> blob = new Blob([res], {type:'text/csv;charset=UTF-16LE'}) saveAs(blob, filename) Meteor.call('iconv', data, callback) 正如你所看到的,我testing的数据是一个带有特殊字符('ê')的简单string。 我的问题是我无法将nodejs缓冲区传递给客户端。 它被自动序列化为: Object {0: 116, […]

Nodejs持久variables

是否有某种类似Session的variables来保存Nodejs中的数组? 我的意思是像我可以在其他范围内定义名称,并在不同范围内访问(即:variables(“Array1”)在函数A中定义,但在函数B中访问并保留,直到它被销毁)。 原因是我使用Meteor将大文件分割成小块并将块传回服务器。 我试图使用fs.WriteFile和fs.AppendFile的组合,但不知fs.AppendFile的文件是沿途被毁坏的(文件是一个video和复制文件发生播放错误)。 我读到blob可以由构造函数重build的地方。 不过,我需要将其传递给全局variables或会话variables才能这样做。 所以…我怎么能在Nodejs中使用这样的东西?

与meteor一起使用Solr

我正在和meteorJS合作,目前是新的。 由于Meteor只使用Mongo DB,因此我需要将Solr与它集成,以便更快地进行search。 谷歌search,但无济于事。 任何人都可以与我分享一些方法,链接或代码片段,我可以在我的Meteor项目中使用Solr。

meteor失败,不能从npm-shrinkwrap安装npm-packages

我几天来一直在诊断这个问题,并且testing了与这个类似的“meteor”和“npm”依赖关系出现的顶级问题解决scheme。 我和我的后端工程师都难倒了。 我使用的是OSX 10.10.3,ruby 1.9.3,node v0.10.36,npm 1.4.28,meteor 1.1.02。 另外,由于错误似乎表明我不在代理之后。 我的环境PATH是: export PATH =“/ usr / local / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin” 这是错误: => Started proxy. => Started MongoDB. npm-container: updating npm dependencies — hummus, shipping-ups… npm WARN package.json packages-for-meteor-smartpackage-1wscwem@0.0.0 No description npm WARN package.json packages-for-meteor-smartpackage-1wscwem@0.0.0 No repository field. npm WARN […]