Tag: meteor

使Meteor.methods同步和asynchronous

有时我需要Meteor.call来writeMeLater排队并同步执行(阻止来自同一个客户端的writeMeLater其他调用)。 其他时候writeMeLater的调用应尽快执行,而不排队等待当前排队的所有调用。 下面是我尝试使用this.unblock()如果一个async参数为true。 案例1和2工作正常。 但在案例3中,使用async=true调用在async=true调用后面排队! 我们如何使用async=true来调用跳过队列? 这与来自第二客户端的呼叫在来自第一客户端的呼叫之后没有排队是类似的, 所有的Meteor.call()都是由客户端创build的 情况1(正确同步): Meteor.call('writeMeLater', 's', false) Meteor.call('writeMeLater', 's', false) Meteor.call('writeMeLater', 's', false) 情况2(正确asynchronous): Meteor.call('writeMeLater', 'a', true) Meteor.call('writeMeLater', 'a', true) Meteor.call('writeMeLater', 'a', true) 情况3(不是所需的行为) Meteor.call('writeMeLater', 's', false) Meteor.call('writeMeLater', 's', false) Meteor.call('writeMeLater', 's', false) Meteor.call('writeMeLater', 'a', true) Meteor.call('writeMeLater', 'a', true) Meteor.call('writeMeLater', 'a', true) 服务器/ main.js writeMeLater = function(data, callback) { console.log('writeMeLater: […]

Meteor wrapAsync同步执行,但从不返回

我试图用wrapAsync封装一个节点包中的函数。 filepicker = new Filepicker('API Key') filepickerStatSync = Meteor.wrapAsync(filepicker.stat, filepicker) result = filepickerStatSync(url); console.log('after') stat函数如下。 一切似乎工作正常…请求调用响应正确的结果,最后的callback被调用,整个事情同步执行/产量正确,据我所知…但同步调用永远不会返回和console.log ('之后')从未被击中。 我不认为我犯了同样的错误发生在这个问题上,因为我的函数有一个callback作为最后一个参数。 我也不认为解决scheme是在这个问题上,因为包装函数结束与调用错误和结果的callback,这应该是什么Meteor.wrapAsync在签名中寻找。 Filepicker.prototype.stat = function(url, options, callback) { callback = callback || function(){}; if(!options) { options = {}; } if(!url) { callback(new Error('Error: no url given')); return; } request({ method: 'GET', url: url+'/metadata?', form: { size: options.size || […]

Node.js中的MongoDBtypes

是否有一个node.js模块允许我的应用程序具有与MongoDB相同的types: http://docs.mongodb.org/manual/reference/bson-types/ 例如,在我的node.js应用程序中,我希望它对Integertypes有完整的理解,但是node.js不能识别任何东西,除了我自己理解的开箱即用的数字。

如何在2015年部署生产meteor服务器?

meteor发生了变化,在docs.meteor.com中缺less生产部署。 我有一个相当不错的工作meteor应用程序在开发模式。 所以我把它捆绑到新的命令,因为bundle已经被弃用了: meteor build ./build/ –architecture os.linux.x86_64 在生产服务器上,我安装最新版本的nodejs(当前为0.12),复制和解压缩构build。 Mongo DB在其他服务器上,所以我只是重新定义了PORT,ROOT_URL,MONGO_OPLOG_URL和MONGO_URL环境variables。 但很快结束了太频繁看到的纤维缺less错误: module.js:338 throw err; ^ Error: Cannot find module 'fibers' at Function.Module._resolveFilename (module.js:336:15) at Function.Module._load (module.js:278:25) ……….. 所以,这是我的尝试: npm install fibers@1.0.1 -g#但是失败。 npm安装光纤-g成功并安装版本1.0.5 情况如下: root@server:~# npm version { npm: '2.5.1', http_parser: '2.3', modules: '14', node: '0.12.0', openssl: '1.0.1l', uv: '1.0.2', v8: '3.28.73', zlib: '1.2.8' […]

使用速度,meteor和travis ci

我在meteor中做了一个基本的应用,并用摩卡速度 。 我试图findbuild立在travis ci上的方法。 特拉维斯build议使用以下的.travis.yml language: node_js node_js: – "0.10" before_install: – "curl -L http://git.io/3l-rRA | /bin/sh" services: – mongodb env: – LAIKA_OPTIONS="-t 5000" 不幸的是,这似乎是基于不赞成使用的laika框架 。 有没有什么方法可以在meteor应用上使用速度框架,并让它build立在travis ci上?

meteor 1.3应用程序结构:将任务分解为方法订阅

对于meteor1.3知识渊博的人来说,这可能是一个非常简单的问题。 在meteor应用程序结构文档中,build议将API分成几个文件,但是我没有看到如何将它们拉回到一起的任何示例。 我开始与Todo反应教程:集合 ,我试图拆分/api/tasks.js到tasks.js methods.js server/publications.js 我不知道我需要从tasks.js中的代码中进行哪些更改,以便正确导入移动到methods.js和server / publications.js的代码 谢谢您的帮助! 代码: http : //www.github.com/Falieson/LearningReact/blob/meteor_todos/MeteorTodos_React/imports/api/tasks/tasks.js

使用CKEditor / TinyMCE和Meteor

什么是最好的方法来使用复杂的JS包,如CKEditor或TinyMCE与meteor? 他们都依赖特定的目录树来dynamic加载JS文件或CSS在运行时,这使得从他们创build一个Meteor包复杂。 试图让Meteor加载并整合CKEditor以及Meteor和应用程序代码的其余部分,这听起来也太过于夸张了。 我试着简单地把它放在公共目录中(通过在标题中添加一个<script>标签来加载它),但是Meteor试图加载这些文件,并崩溃了: node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: watch EMFILE at errnoException (fs.js:636:11) at FSWatcher.start (fs.js:663:11) at Object.watch (fs.js:691:11) at [object Object]._scan (/var/www/meteor/app/meteor/run.js:322:12) at Array.forEach (native) at Function.<anonymous> (/var/www/meteor/app/lib/third/underscore.js:76:11) at new <anonymous> (/var/www/meteor/app/meteor/run.js:264:5) at /var/www/meteor/app/meteor/run.js:455:17 at /var/www/meteor/app/meteor/run.js:512:5 at /var/www/meteor/app/meteor/run.js:570:9

客户端渲染和光纤中的光纤的性能影响

许多人已经评论了Fibers(它在Node.js中提供了同步代码)与99%的npm包的兼容性。 我对性能影响更感兴趣。 这是否撤销“Node.js真的很快,看,这是asynchronous/基于事件的!” 论据? meteor团队烘烤纤维的实际意义是什么? 此外,在客户端部署页面大量重写之后,Twitter 将他们的决定推翻了服务器上的HTML,以改善页面加载时间。 这对Meteor的潜在性能限制(特别是在首页加载时)意味着什么?

在Iron Router中使用Layouts时将行添加到<head>

使用铁路路由器和布局,如何将更多的线路添加到<head> ? 例如,将以下代码添加到<head> … <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta name="description" content=""> <meta name="author" content=""> <link rel="shortcut icon" href="assets/img/favicon.png"> <title>My Title</title> <!– Fonts from Google Fonts –> <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,700' rel='stylesheet' type='text/css'> <!– HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries –> <!–[if lt IE 9]> <script […]

Mongo中的meteor数据在哪里?

我正在编写Meteor简单颜色示例截屏 。 通过Chrome JS控制台(video中的1:08)将一些颜色插入数据库之后: Colors.insert({name: "red"}); Colors.insert({name: "green"}); 我想看看是否可以在mongo控制台中find相同的数据: $ meteor mongo MongoDB shell version: 2.2.1 connecting to: 127.0.0.1:3002/meteor > show dbs local (empty) meteor 0.0625GB > use meteor switched to db meteor > show collections colors) system.indexes > db.colors.find() > 没有。 为什么那里没有数据? 为什么在“颜色”集合名称后面有一个“)”,是相关的? 这是我的.js文件: Colors = new Meteor.Collection("colors)"); if (Meteor.isClient) { Template.colour_list.colors = function() […]