Articles of meteor

meteor.js – 将点击元素的ID传递给一个集合

我用3个元素构build了一个页面,每个元素都是这样的: <div class="col-md-4 event-type"> <a href="{{ pathFor 'step2' }}" id="eventchoice" name="eventchoice" value="corporate"> </a> </div> 我试图通过使用以下代码将<a>元素的值或名称或ID传递给集合: EventsController.events({ 'click #eventchoice' : function(event) { console.log(event.target.getAttribute("id")); console.log(event.target.getAttribute("name")); console.log(event.target.getAttribute("value")); var eventchoice = event.target.value; var params = { eventchoice: eventchoice } //Insert Event Meteor.call('addEvent', params); FlashMessages.sendSuccess('Event Added'); } }); 我添加了console.log来查看是否可以获得<a>元素的id / name / value,但是控制台输出了所有这些的“null”。 因此,eventAdd方法中没有任何内容传递给集合。 我不相信问题是与EventsController,addEvent方法或Events集合。 任何想法如何我可以通过这些价值观? 感谢您的帮助!

使用GraphicsMagick处理GridFS文件并将其作为新文件存储

我试图通过gridfs-stream ( https://github.com/aheckmann/gridfs-stream )读取一个GridFS文件,用gm旋转它90°并将其作为一个新的GridFS文件存储。 我的结果看起来非常不稳定…所以我在寻求帮助来优化这个小小的代码片段。 而这个代码的第二件事:我需要一种“开关”。 这段代码对图像进行旋转操作。 但我需要传递参数来做旋转,resize或其他。 我如何整合这个? import Grid from 'gridfs-stream' import { MongoInternals } from 'meteor/mongo' const id = '12345' const gfs = Grid( MongoInternals.defaultRemoteCollectionDriver().mongo.db, MongoInternals.NpmModule ) const readStream = gfs.createReadStream({ _id: id }) readStream.on('error', function (err) { console.error('Could not read stream', err) throw Meteor.Error(err) }) gm(readStream) .rotate('#ffffff', 90) .stream(function (err, stdout, […]

如何在Meteor应用程序中“分离”长时间运行的服务器端function?

作为meteor应用程序的一部分,我有一个服务器端,通过向集合的插入/更新获取信息的POST消息,以提供给Web客户端。 到现在为止还挺好。 但是,有时这些更新可能相当大(每5秒logging一次,每次50K)。 直到我开始使用批处理插入包,然后使用Mongo的低级batch.find.update()和batch.execute()时,我一直很难保持这种状态。 但是,即使有5万条logging,它仍然有大量的处理过程(它会进行一些计算,分析等)。 我会喜欢能够“线程”的逻辑,所以主事件循环可以继续下去。 但是,我不确定是否有真正简单的方法在Meteor中为此创build“真实”线程。 因此,我想知道至less“批量”工作的最佳/适当的方式,以便每N(例如1K左右)logging我可以释放事件循环回来处理其他事件(如某些客户端DDP消息等)。 然后做另一个1Klogging等等,直到无论我需要多lesslogging完成。 我在想,解决scheme在于使用Fibers / Futures(似乎是Meteor的方式),但是我不是正确的,或者像“setTimeout()”和/或“setImmediate()”这样的低级思想是正确的更合适。 TIA!

使用npm包http-proxy在Meteor下设置SSL

我正在尝试使用SSL-Meteorpedia来设置SSLmeteor。 我已经安装了meteorhacks:npm,并在pakcages.json文件中定义了当前版本的npm http-proxy包。 现在我已经在服务器文件夹中设置了以下meteor方法: Meteor.methods({ 'ssl': function(options) { var fs, httpProxy, proxy; httpProxy = Meteor.npmRequire('http-proxy'); proxy = httpProxy.createProxyServer(options); fs = Meteor.npmRequire('fs'); http.createServer(function(req, res) { return proxy.web(req, res, { target: "http://" + this.connection.httpHeaders.host + "3000" }); }); proxy.on('error', function(e) { if (DEV_MODE) { return console.log(e); } else { return document.body = "The request couldn't be handled"; […]

使用window.location.assign会导致Meteor.userId丢失

我写了一个Meteor网站,其中客户端路由由angular-meteor完成,服务器路由由IronRouter完成。 其中一个调用要求在浏览器操作之后,我调用服务器端路由,所以我正在使用: window.location.assign('/my/server/route') 而不是Angular $ location.path(…)(因为这个url没有客户端路由) 我注意到,如果用户login,那么在调用window.location.assign后, Meteor.userId在服务器端变为空。 从我的日志 – 之前.assign(客户端和服务器端): Meteor.userId: iaPkB6cxKGMS7b7H6 分配后(服务器端) Meteor.userId: null 有人可以解释为什么userId在这种情况下丢失?

在另一个meteor电话里面的meteor电话

我有一个meteor调用结构如图所示: Meteor.call('method1', function(err, result){ //do something Meteor.call('method2', function(err, result){ //do something }) … }) 'method2'有时不被调用。 我尝试了一个解决scheme,为“method2”添加了“setTimeout”,但是在2周后,方法2的剂量不再被随机调用。 任何人有任何线索? 感谢您的帮助。 有关我的代码的更多细节: 1)有两台服务器通过集群连接,命名为server1和server2 2)server1中定义的meteor方法命名为server1_method1和server1_method2 3)server2中定义的meteor方法命名为server2_method1和server2_method2 // server1的客户端 Meteor.call("server1_method1", function(err, result){ if(result){ Meteor.call("server1_method2", function(err,result){ //do something }) } }) // server1的服务器 var server2 = Cluster.discoverConnection('server2'); Meteor.methods({ 'server1_method1':function(){ server2.call('server2_method1', function(err, result){ //where problem happens if(result){ server2.call('server2_method2', function(err, result){ if(result){ //do […]

meteor:正确的方式发送POST请求到模数API

我有一个模块上的meteor应用程序托pipe。 模数在这里有一个API: https : //api.modulus.io/ API代码位于此处: https : //github.com/onmodulus/modulus-cli/blob/master/lib/librarian/librarian.js#L361 我想通过API将域保存到我的部署模块之一。 我知道这是我想要连接到的代码: https : //github.com/onmodulus/modulus-cli/blob/master/lib/librarian/librarian.js#L361 librarian.project.saveDomains = function(projectId, domains, authToken, callback) { if(checkInit(callback)) { librarian._http.request(util.format('/project/%s/domains?authToken=%s', projectId, authToken), 'POST', domains, callback); } }; 我是新来的API调用。 我相信我需要从我的meteor应用程序中的服务器调用,这可以使用meteor方法来处理,但我不知道API调用应该是什么样子。 我已经在线和在SO上进行了研究。 没有运气,我正在与API调用缺乏经验,所以我从一个小方向看。 我已经添加了meteor的http包: meteor add http 我想下面是在球场,但目前没有工作: POST javascript //save arguments object to options variable var options = { projectId: xxx, domains: […]

在MacOS上运行Windows上的meteor应用程序

我从一个在MacOS上开发的朋友那里得到了一个Meteor项目。 当试图运行它,我得到: 该项目使用METEOR@1.0.2.1,这在Windows上不可用。 要在所有支持的平台上使用此应用程序,请使用meteor更新 – 释放METEOR@1.2.1将此应用程序固定到最新的Windows兼容版本。 运行时,我得到: 在检查cfs时:gridfs@0.0.27:找不到兼容的二进制文件… 然后,当我尝试覆盖(使用运行而不是更新),而不实际更新,它启动代理和Mongo,但后来打破,但跳过第一个错误 在构build包npm-container:error时:不知道处理文件'../../packages.json'的插件。 如果你想这个文件是一个静态的资产,使用addAssets而不是addFiles; 例如api.addAssets('../../ packages.json','client')。 我读到这个错误是通过更新meteorhacks修复的,但是当我尝试,我得到meteor版本的冲突(见第一个错误),我不知道如何摆脱循环。 有人可以照亮一些如何解决这些错误?

在带有错误的Windows 7上安装Meteor

我已经安装了Npm和Node.js ImageMagick – 可选但build议对于Windows安装,您还需要:Win32 OpenSSL Visual Studio 2008可再发行组件Git / mysgit 但是,当我使用命令; meteor run它仍然显示下面的错误。 Your app is crashing. Here's the latest log: C:\Users\DELL\AppData\Local\.meteor\packages\meteor-tool\1.1.10\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fibers\future.js:245 throw(ex); ^ Error: The operating system cannot run %1. C:\Users\DELL\AppData\Local\.meteor\packages\npm-node-aes-gcm\0.1.3_6\npm\node_modules\node-aes-gcm\build\Release\node_aes_gcm.node at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.Npm.require (E:\xampp\htdocs\reactioncommerce\reaction\.meteor\local\build\programs\server\boot.js:162:18) at Package (packages/npm-node-aes-gcm/packages/npm-node-aes-gcm.js:10:1) at Package (packages/npm-node-aes-gcm/packages/npm-node-aes-gcm.js:25:1) at E:\xampp\htdocs\reactioncommerce\reaction\.meteor\local\build\programs\server\packages\npm-node-aes-gcm.js:45:4 […]

Meteor Js作为前端,Koa Js作为后端

我正在创build一个Meteor Js应用程序作为前端,我使用Koa Js作为后端。 我的Koa目的是能够监视我的前端meteor应用程序的浏览量。 你能告诉我如何开始?