Articles of meteor

如何在Meteor的服务器端debugging并logging自己的代码?

没关系。 这个原因没有奏效:我忘了meteor reset所以debugger没有机会停下来。 咄! 更多信息:我正在使用方法在答复由梅森张相关的问题,而不是kill -s USR1 [proc_id] (我可以看到脚本,但不能停止在startup()函数)。 另外,我正在使用陨石。 我正在尝试使用node-inspector来debuggingMeteor服务器端(即/server )上的Meteor.startup(function())代码,我已经阅读了这个问题 ,并按照答案更改run.js ,但不知何故,我自己的启动function脚本没有显示在Chrome的脚本部分。 如何在这里看到我的代码并设置断点并在这些点上停下来? 顺便说一句,Meteor_debug()不输出任何东西到标准输出,标准错误,或节点督察浏览器控制台。 我也试过console.log()没有用。 如何在Meteor服务器端启用日志logging? 如果有关系,我在auth分支。 这里的代码非常简单(/server/bootstrap.js): Meteor.startup(function () { if (Logs.find().count() === 0) { var data = [/*…some data…*/]; var timestamp = (new Date()).getTime(); Meteor._debug("timestamp: "+timestamp+", data.len: " + data.length); debugger; for (var i = 0; i < data.length; i++) { […]

我怎样才能创build一个meteor的自动增量字段?

我需要一个自动递增字段,但不是主要的id,它只是为客户支持应用程序的用户提供一个容易记住的案例号码。 我发现这篇文章解释了如何在mongodb上创build一个自动递增字段http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/,但是这个解决scheme在minimongo上还不被支持。 我怎样才能实现这个function? 我不在乎解决scheme是否由于错误而跳过了一些连续的案例编号,但案例编号必须是唯一的。 是否有另一种方法来生成唯一的和短的病例号码? 我不想给用户一个这样的案例代码PxyooJWSKc3sMz6Lc,因为他们必须参考他们的案件编号的问题。 编辑: Minimong不支持findAndModify,所以我不能使用我发布的链接上列出的第一个解决scheme。 第二种解决scheme也需要方法在minimongo上不可用。

meteor1.3 NPM:意外的保留字导入

我试图在这里遵循指南: https://guide.meteor.com/using-packages.html 安装几个节点包,然后试图将它们导入到我的methods.js文件,但我得到以下错误: W20160423-15:08:57.338(9)? (STDERR) app/server/methods.js:1 W20160423-15:08:57.338(9)? (STDERR) (function(Npm,Assets){(function(){import Fibers from 'fibers'; W20160423-15:08:57.338(9)? (STDERR) ^^^^^^ W20160423-15:08:57.343(9)? (STDERR) SyntaxError: Unexpected reserved word W20160423-15:08:57.344(9)? (STDERR) at /repos/myproject/.meteor/local/build/programs/server/boot.js:278:30 W20160423-15:08:57.344(9)? (STDERR) at Array.forEach (native) W20160423-15:08:57.344(9)? (STDERR) at Function._.each._.forEach (/Volumes/320gb/macbookpro/.meteor/packages/meteor-tool/.1.3.2_4.1rz3z4t++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11) W20160423-15:08:57.345(9)? (STDERR) at /repos/myproject/.meteor/local/build/programs/server/boot.js:133:5 我的包似乎安装正确。 不知道是什么原因导致这是一个错误?

在Meteor中访问node.js文件系统模块

我正在创build一个Web应用程序,它将编辑用户HD上存储的一些configuration文件,并决定给Meteor一个镜头。 我想使用Node.js的文件系统模块来处理configuration文件的I / O,但我一直无法弄清楚如何包含模块。 经过一番search之后,我在StackOverlow中find了下面的代码,这个代码允许我要求模块: var require = __meteor_bootstrap__.require; var fs = require('fs'); 然而,即使在我的代码的if(服务器)部分内,我的应用程序仍然抛出一个错误,并告诉我'fs'是未定义的。 有没有其他人遇到过这个问题?

MeteorJS:从模板服务器端生成电子邮件

我需要从MeteorJS应用程序发送电子邮件,我想使用HTML模板生成它们,而不是“html-in-js”的东西。 我试过的: 1)使用Template.emailTemplate(data) ,但Template没有定义服务器端。 2)将我的电子邮件模板保存为<app>/server/email/templates目录下的*.html文件,使用fs.readSync()获取它们的内容,然后使用meteor的内置handlebars包进行编译/渲染。 这在开发环境中工作正常,但由于server目录下的*.html文件没有捆绑在一起,所以在使用捆绑应用程序的生产中失败。 另外,在捆绑过程中,目录的结构发生了变化,模板的相对path变得无效。 3)你的build议? =)

在启动Meteor.js时自动加载settings.json

而不是启动meteor的国旗–settings settings.json mrt –settings settings.json 是否可以通过运行自动定义Meteor.Settings mrt

如何最好地通过meteor“尾巴”在蒙戈的大集合?

我有一个在Mongo数据库的集合,我追加了一些loggingtypes的信息。 我试图找出在meteor应用程序中“tail -f”的最有效/最简单的方法 – 当一个新文档被添加到集合中时,它应该被发送给客户端,客户端应该将其追加到最后集合中的当前文档集合。 客户不会被发送,也不会收集所有的文件,可能只是最后的100左右。 现在,从Mongo的angular度来看,我看不出有什么办法说“集合中的最后N个文件”,这样我们就根本不需要应用任何types的文件。 似乎最好的select是自然sorting降序,然后是一个限制调用,所以就像在mongo文档中列出的$ natural db.collection.find().sort( { $natural: -1 } ) 因此,在服务器端AFAICT发布这个“最后100个文件”meteor收集的方式是这样的: Meteor.publish('logmessages', function () { return LogMessages.find({}, { sort: { $natural: -1 }, limit: 100 }); }); 现在,从“尾巴-f”的angular度来看,这似乎具有将“最后100个文档”发送到服务器的正确效果,但是以错误的顺序发送(最新的文档将在Meteor集合的开始处而不是最后)。 在客户端,这似乎意味着需要(不幸地)颠倒收集。 现在,我没有看到Meteor Collection文档中的 reverse(),并且按照$ natural:1的顺序进行sorting(这似乎是合理的,因为没有真正的Mongo上下文)。 在某些情况下,消息在文档中会有时间戳,客户端可以通过sorting来获得“自然顺序”,但是这看起来有点怪异。 无论如何,我觉得我可能错过了一个简单得多的方法,通过meteor从mongo发布了一个活的“最后100个文档插入到集合中”。 🙂 谢谢! 编辑 – 看起来像是如果我把Mongo中的集合更改为capped集合,那么服务器可以创build一个可拖动的光标,以便高效(快速)获得添加到集合中的新文档的通知。 然而,我不清楚是否/如何让服务器通过Meteor集合来实现。 另一种看起来效率稍低但不需要切换到加盖集合(AFAICT)的替代方法是使用智能集合来实现oplog的拖尾操作,因此至less它是事件驱动的,而不是轮询,并且由于源代码中的所有操作收集将被插入,似乎它仍然是非常有效的。 不幸的是,AFAICT我仍然留下sorting的问题,因为我没有看到如何定义服务器端收集为'最后100个文件插入'。 🙁 如果有一种方法可以在Mongo中创build一个集合来查询另一个(“sorting”的“物化视图”),那么也许我可以在Mongo中创build一个日志最后100个“集合视图”,然后Meteor将能够只是发布/订阅整个伪collections?

如何正确configurationmeteor与节点file upload模块'multer'

我只是从meteor开始。 我find了,并添加了“multer”包: meteor add pfafman:multer 现在,我想知道如何configurationmeteor的服务器端使用。 在我的普通节点应用程序中,我使用它是这样的: app.use(multer({ dest: './uploads/', rename: function (fieldname, filename) { return filename+Date.now(); }, onFileUploadStart: function (file) { console.log(file.originalname + ' is starting …'); }, onFileUploadComplete: function (file) { console.log(file.fieldname + ' uploaded to ' + file.path); var fileName = file.name; var done=true; } })); 什么是meteor等同的服务器代码?

在Meteor.js中将variables范围设置为模板

是否有可能创build一个variables范围的模板? 该variables可以在模板中的不同助手之间共享,但不在模板之外。 在下面这个例子中,如何在两个模板之间共享gamevariables而不重复其定义? 使用var进行初始化使其成为全局的,这不是我想要的。 谢谢! Template.userInfo.game = function() { var game = 'Angry Bird'; return game + ' game'; }; Template.userInfo.score = function() { var game = 'Angry Bird'; return game + ' score'; };

meteor的帐户 – ui-bootstrap-3 {{loginButtons}}不显示

安装bootstrap-3和accounts-ui-bootstrap-3 ,当使用{{ loginButtons }}时, ui-accountslogin小部件不会出现。 取而代之的是find一个<div> ,但没有可见的小部件。 是否有额外的步骤缺less小部件显示? 添加Bootstrap 3包 mrt add bootstrap-3 mrt add accounts-ui-bootstrap-3 main.html中 <body> {{> header}} </body> <template name="header"> <div class="navbar navbar-fixed-top navbar-inverse" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">My Bootstrap 3 App</a> </div> <div […]