Articles of meteor

如何在meteor应用程序中正确configuration节点中间件

我已经在我的meteor应用程序中安装了multer中间件: { "multer": "0.1.8" } 我有meteorhack:npm也安装了 现在,我正在尝试这样configurationmiddlware: var multer = Meteor.npmRequire('multer'); Meteor.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壳,但是,它似乎隐藏了一些细节,使得检查很痛苦。 > Meteor.users.find().fetch() { "_id": "someidgoeshere", "emails": [ [Object] ], "profile": {}, "services": [ [Object] ] } 我查看了源代码, 发现了一个REPL ,检查了.help提示符。 我查看了文档,甚至找不到CLI中列出的“shell” 。 有没有办法使用某种冗长的选项来运行Meteor shell,以便显示所有的json?

要求没有在服务器端Meteor方法中定义?

我有一个meteor方法,我只在server文件夹中定义。 服务器/ methods.js Meteor.methods({ locationInfoByZipcode: function(zipcode){ check(zipcode, String); var https = require('https'); }, }); 我在客户端调用它: Meteor.call("locationInfoByZipcode", "94043", function(error, response){ console.log(error); console.log(response); }); 这是服务器控制台中的错误: I20150612-19:48:28.092(-7)? Exception while invoking method 'locationInfoByZipcode' ReferenceError: require is not defined I20150612-19:48:28.092(-7)? at [object Object].Meteor.methods.locationInfoByZipcode (app/server/meteor_methods.js:109:15) I20150612-19:48:28.092(-7)? at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1) I20150612-19:48:28.092(-7)? at packages/ddp/livedata_server.js:648:1 I20150612-19:48:28.092(-7)? at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1) I20150612-19:48:28.093(-7)? at packages/ddp/livedata_server.js:647:1 I20150612-19:48:28.094(-7)? […]

在Iron Routermeteor中覆盖路由

我尝试了两种方法。 首先是定义一个具有相同模式的新路线,但它给我错误说“path已经存在”。 然后,我也尝试从路由器中获取现有的RouteController并对其进行更改,但是操作并不顺利 具体来说,我想在项目望远镜中覆盖下面的路线。 https://github.com/TelescopeJS/Telescope/blob/master/packages/telescope-posts/lib/routes.js#L159-L162

用meteorautoform预览

我用meteor-autoform {{> quickForm collection="Pages" id="insertPageForm" type="insert"}} 但我也想在窗体下面有一个预览区域,就像这里的SO一样。 我只是不知道如何绑定一个键盘触发器的autoform领域。 用一个简单的帮手,我可以有HTML: <textarea class="text"></textarea> <div class="preview"></div> 和js: "change .text": function (e) { $(".preview").text($(e.target).text()); } 或类似的东西。

有没有可能有一个IRC客户端使用运行你自己的IRC服务器没有websockets网关的websockets?

我正在计划build立一个IRCnetworking,并正在探索选项。 我打算使用Inspircd IRC服务器 。 随着运行meteor的networking服务器。 是否有可能build立一个networkingIRC客户端与WebSockets和不使用Webscokets网关(以减lessWeb服务器上的负载),并直接连接到IRC Inspircd框? 其次,如果是,则IRCclient <-> IRCServer与IRCclient <-> WebScoketGateway (/webserver) <-> IRC Server关系有什么优点/缺点。 我看到大部分涉及node或meteor的模块(包括socket.io )都使用WSGI,为什么呢? 我在这里错过了什么? 请注意在这种情况下,IRC服务器和Web服务器都由我运行,因此使浏览器相信两者都是相同的盒子的可能性。

在从DevOps Services部署Meteor应用程序时,如何在IBM Bluemix上安装必需的软件包?

我希望有一个IBM Bluemix向导可以回答这个问题。 我有一个用Meteor编写的应用程序,我正在尝试部署到Bluemix。 该应用程序包含这一行: var AdmZip = Npm.require('adm-zip'); 这当然意味着应用程序使用adm-zip包来做东西。 当我尝试通过DevOps Services部署应用程序时,会失败并显示以下错误: ERR Error: Cannot find module 'adm-zip' 在日志中。 如果我删除Npm.require行,应用程序部署很好,但当然不能正常工作,因为adm-zip不在那里。 我的package.json文件中包含以下内容: "dependencies": { "adm-zip": "*" }, 我相信应该足以加载adm-zip包。 我也试着指定adm-zip的Git URL,但结果是一样的。 有谁知道我必须做什么才能让这个应用程序正确部署?

在Meteor中为每个表单定义autoform钩子

我有一个meteor的每个循环,我使用autoform来更新每个项目(就像http://autoform.meteor.com/update-each中所述 )。 我的问题是,我通常通过钩子创build通知 AutoForm.hooks({ myFormId: { onSuccess: function(formType, result) { Notifications.success('Title', 'Text.'); } } }); 但是因为我所有的表单都有唯一的ID,所以我不能使用它。 如何创build一个匹配模板中所有表单的钩子,或者是一个与正则expression式匹配的名称“unique-id-?” 哪里? 是docId?

如何编辑不在GitHub上的Meteor包?

我有一些我正在使用的Twitterfunction,我想使用“仅应用程序validation”,只需要我的Twitter应用程序凭证,就可以在我的应用程序中执行GETS(例如,根据用户input的标签进行随机鸣叫search等)实际用户发布。) Twitter支持这个,但是大部分的大气和NPM的Twitter包都不支持。 他们强制你传递应用程序凭证和OAuth令牌,如果你不这样做,你的请求将无效。 最stream行的meteorTwitter API包mrt:twit实际上包装了实际实现ttezel/twit应用authentication的NPM包ttezel/twit ,然而meteormrt:twit的包装包迫使你使用完全authentication,要求用户的OAuth令牌不想或不需要使用。 所以我想编辑mrt:twit ttezel/twit's来正确地关注ttezel/twit's界面。 但是, mrt:twit软件包不在GitHub上。 我怎么知道它的存在位置和/或是否可以在本地访问它并修改它并/或者在线查找某个存储库的位置? 大气没有提供很多的帮助没有提供从这个包实际下载的链接? 链接为mrt:twit : https mrt:twit 链接ttezel/twit : https : //github.com/ttezel/twit 编辑 :我正在使用meteor1.1.0.2。 我能够findmrt:twit在哪里。 它在: …/.meteor/local/build/programs/server/packages/ 经过调查,并不是mrt:twit ttezel/twit's没有正确实施ttezel/twit's界面,而是mrt:twit正在使用/要求旧版本的ttezel/twit版本1.1.9而不是当前的2.1.0。 ttezel/twit旧版本不支持“仅应用程序”授权 – 我可以在代码中看到它。 因此,我上面的原始问题。 ttezel/twit下载到以下文件夹: …/.meteor/local/build/programs/server/npm/mrt_twit/node_modules/twit 在上面的文件夹里面,我看到了ttezel/twit的完整的.git包,但它的版本是1.1.9。 所以我认为我可以用ttezel/twit的最新2.1.0版本replace这个文件夹,但是我不认为你应该在node_modules文件夹里面乱搞任何东西吧? 不应该有一个configuration文件的地方编辑? 对于我的生活,我无法findmrt:twit声明使用1.1.9版本的地方。 在所有的代码中,它只是调用Npm.require('twit') 。 没有configuration文件,我可以find它将版本设置为1.1.9。 我唯一发现的是位于.node_version文件夹旁边第二个path的一个文件,名为.node_version ,其中包含的所有文件都是v0.10.20 ,这是我假设使用的Node版本。 那不会“强迫”那个时候的任何软件包版本吗? 如果是这样,那么这可能是什么设置ttezel/twit使用1.1.9。 我原来的post问题仍然存在,但我在哪里可以findmrt:twit在服务器上,所以我可以分叉/编辑它,而不必在本地编辑代码?

Meteor的Iron Router:在客户端和服务器端获得查询参数

那里 在我的应用程序中,如果有人在URL上传递参数,我想在模板上做不同的事情。 我知道我可以在服务器端使用this.params.query查询string,但我怎么可以传递给客户端或在客户端获取此值? 在我的情况下,我会发送一个可选的redirect的URL,如果它通过,主任务后,我的应用程序将redirect到给定的url的用户。 但是我只知道如何在服务器端看到redirect ,而不是在客户端,所以当我提交表单时,这些信息就会丢失 你可以帮帮我吗?