Tag: meteor

MeteorJS – click.incrementfunction不工作(你的第一个meteor应用程序)

我正在通过“ 你的第一个meteor应用程序”这本书,而我被困在第8.3节“ 高级操作符”第二部分 基本上, click.increment和click.decrement函数应该执行以下操作: 点击后,玩家的名字(li元素)背景变成黄色 当点击“给5分”或“拿5分”时,用户的积分增加/减less5。 但是,这是发生了什么事情: 当我点击一个球员(李元素),它是突出显示黄色 当我点击增量或减量button时,li元素被取消select,背景不再是黄色,并且点数没有变化。 任何帮助,将不胜感激。 这一定是我忽略的一个非常简单的事情,但是我无法弄清楚。 以下是相关的代码: leaderboard.html: <head> <title>Leaderboard</title> </head> <body> <h1>The Leaderboard</h1> {{> leaderboard }} </body> <template name="leaderboard"> <ul> {{#each player}} <li class="player {{selectedClass}}">{{name}}: {{score}}</li> {{/each}} </ul> <input type="button" class="increment" value="Give 5 Points"> <input type="button" class="decrement" value="Take 5 Points"> </template> leaderboard.js: PlayersList = new Mongo.Collection('players'); console.log("Hello World […]

部署Meteor应用程序时重buildnpm模块

当将meteor应用程序部署到我的服务器时,我首先meteor buildmeteor应用程序,然后解开服务器上的软件包。 接下来我做 cd server && npm install 但是npm包含的npm包不包含在内? 我们如何重build它们?

Meteor的相关项目

我有团队和项目,项目与特定组相关。 在一个组的“详细信息页面”上,我想查看属于特定组的所有项目。 我已经试过了 Router.route('/group/:_id', { name: 'group', template: 'group', waitOn: function () { return this.subscribe("groups", this.params._id); }, data: function () { return { group: Groups.findOne(this.params._id); items: Items.find({groupId: this.params._id}), } } }); 但是,应该等待,如果它应该等待特定组和属于该组的项目?

为什么Meteor.users.findOne({username:“test”})返回一个对象,但用具有相同值的variablesreplace“test”会返回undefined

var usr = []; var chatUsers = Session.get("newChatUser"); for ( i in chatUsers ) { var a = chatUsers[i]; var id = Meteor.users.findOne({ username : a }); usr.push({ uid : id._id, name : a }); } 这里id变成undefined当a是“testing”,但是当我运行 Meteor.users.findOne({ username : "test" }) 在浏览器控制台中,它返回正确的对象。 我的代码有什么问题?

如何使PAAS autorun上的NodeJS应用程序?

我在meteor中写了一个简单的应用程序。 我用demeteorizer去除它对meteor的依赖。 现在,我已经将我的卸载包上传到Gandi NodeJS 简单托pipe实例 。 我可以让它从控制台运行,但是我不能让它在我重新启动实例时自动运行。 我将默认的server.js移出实例启动时运行的方式。 这是它包含的内容: var http = require("http"); http.createServer(function(req, res) { res.writeHead(200, {"Content-Type": "text/html; charset=utf-8"}); res.end('<!DOCTYPE html><html><meta charset="utf-8"><title>It works' + "</title><b>It works!</b><br /><br />This is the server's " + "default server.js."); }).listen(8080); console.log("Server ready to accept requests on port 8080"); 在我的本地机器上运行demeteorizer,它创build了一个project.json文件,我将其余的包上传到vhosts / default dir: hosting-user@Secret-History-Node-Test:~/web/vhosts/default$ more package.json { "name": "secrethistory", […]

当收到Error对象时,如何停止函数?

如何在发生错误时停止function。 我正在做一个http后的通话。 我已经构造了一个错误优先风格的callback函数。 如果传入一个Error对象,如何停止callback函数? 在我的使用情况下,我需要停止,无论错误types,因为我需要的数据对象的后续链callback函数。 它是否简单地return ? 我已经阅读了更高层次上的回报,希望得到确认,如果我的代码是正确的,我想实现。 我只是想确保继续callback函数不会继续,因为他们不会传递任何数据对象,因此,都将是'错误' server.js var request = function(callback) { // HTTP call to server }, function (error, response, body) { if (!error && response.statusCode === 200) { // processed and created data object return callback(null, data) } else { console.log(error.stack) return callback(error) ; } }) }; var requestSync = […]

SpookyJS在meteor中使用时没有启动方法

我有一个奇怪的错误,无法find过去几个小时的原因… 我有一个meteor的应用程序,这刮了一些网页的信息,一切正常,只要我使用reuqest和cheerio静态页面,但现在我有一个dynamic的网站,我想要使用phantomjs,casperjs和spookyjs这个,但在这里我得到一些错误…我的代码如下,我在开始时导入npm模块: if (Meteor.isServer) { var cheerio = Meteor.npmRequire('cheerio'); var request = Meteor.npmRequire('request'); var phantomJS = Meteor.npmRequire('phantomjs'); var spooky = Meteor.npmRequire('spooky'); 有时候,我想用怪异的东西来刮一些网页: spooky.start("https://www.coursera.org/"); spooky.then( function () { this.fill("form", {email: user, password: pass}, true); });` 但只要我调用方法,我得到以下错误信息: 20150224-21:16:39.100(-5)? Exception while invoking method 'getLecturesCoursera' TypeError: Object function Spooky(options, callback) { …. I20150224-21:16:39.281(-5)? } has no method 'start' I20150224-21:16:39.281(-5)? […]

graphicsmagick裁剪取决于原始图像大小(resuse readstream)

我使用Meteor的collection-fs包来上传图片,并且我想用gm(readStrem).crop()从每个图片的中心剪下一个缩略图。 问题是, crop的x和y偏移量取决于原始图像的大小,图像大小会有所不同,我不能使用相同的reasdStream两次。 这打破了: var xOff = 0; var yOff = 0; var thumbnailWidth = 450; var thumbnailHeight = 600; gm(readStream).size(function (err, dimensions) { if ( dimensions ) { xOff = (dimensions.width – thumbnailWidth) / 2; yOff = (dimensions.height – thumbnailHeight) / 2; } gm(readStream) .crop(thumbnailWidth, thumbnailHeight, xOff, yOff) .stream() .pipe(writeStream); }) readStream的第二次使用返回Error: gm().stream() or […]

使用GraphicsMagick方法取决于具有CollectionFS的维度

我正在寻找一种工作方式来使用CollectionFS transformWrite函数中的GM方法,具体取决于图像大小。 在通用汽车公司实施了一个规模的方法,但这是asynchronous的,所以它似乎是不可能的使用。 我尝试了以下内容: gm(readStream, fileObj.name()).size(function(err, dimensions){ if (err) { console.log('err with getting size:'); console.log(err); } console.log('Result of media_size:'); console.log(dimensions); // here do smth depends on the dimensions … gm(readStream, fileObj.name()).resize('1200', '630').stream().pipe(writeStream); }); 当我在CollectionFS函数中使用上面的代码片段时,我得到这个错误: 错误:gm()。stream()或gm()。write()带有不可读的stream。 这似乎是一个问题,我使用asynchronousfunction – 当删除asynchronousfunction的上传完美的作品,但我没有访问上传图像的尺寸。 是否有一种解决scheme,以fileObj访问fileObj , readStream & writeStream时获取图像的维度同步? 编辑: 感谢Jasper与wrapAsync的提示。 我testing了它,并使用这个代码: var imgsize; var img = gm(readStream, fileObj.name()); imgsize = […]

更新Meteorjs应用程序后,MongoDB数据库会发生什么?

我正在考虑深入研究Meteor.js。 我从来没有使用过这样的框架或MongoDB之前。 比方说,我有一个Meteor.js应用程序正在运行,数据库已经充满了信息。 现在我想更新我的应用程序。 数据库是否被replace为新的? 因为我可以看到meteor有一个内置的MongoDB,我没有select运行数据库和应用程序的权利? 谢谢