Articles of node.js

我怎样才能在Jade中select一个选项?

我有一个产品对象。 产品有“奖”。 奖有id和名字。 如果产品已经有了奖励,应该select。 select#awards(multiple="multiple", name="awards[]") for award in awards – if ( product.awards.indexOf(award) != -1 ) option(value=award.id, selected) #{award.name} – else option(value=award.id) #{award.name} 但它不工作。 我猜product.awards.indexOf(奖)不检查对象的相等性。 我能做什么?

将stdoutconfiguration到node.js中另一个进程的stdin

我是node.js的新手,并试图在一行中执行两个进程,第一个进程的stdout传送到第二个stdin。 然后第二个进程的stdout应该作为对URL请求的响应传递给variablesres。 代码在这里。 其中一部分是由别人写的,所以也许我有误解: var sox = spawn("sox", soxArgs) var rubberband = spawn("rubberband", rubberbandArgs) sox.stdout.pipe(rubberband.stdin) rubberband.stdout.pipe(res) #won't send to res anything, why? #rubberband.stdin.pipe(res) won't send to res anything, either! #sox.stdout.pipe(res) will work just fine sox.stdin.write(data) sox.stdin.end() #the actual sox process will not execute until sox.stdin is filled with data..? 任何帮助,将不胜感激! 我花了几个小时看着这个!

在Node.js HTTP POST请求中设置cookie jar

我需要使用Node.js的Restler发送HTTP POST请求。 现在我的curl请求来设置Cookie jar文件看起来像这样: curl -c '/tmp/mycookie' -d <data> http://myhost:3000/put 并从这样读取cookies: curl -b '/tmp/mycookie' -X POST http://myhost:3000/put1 如何设置mycookie请求对象? 这应该是请求标题?

名称Promisevariables等于callback参数

我想知道是否可以像传递给callback的参数一样命名承诺的variables名称: var dbItems = db.find(); dbItems.then(function(dbItems) { // Do some stuff with dbItems here… }); 我认为这在语法上是正确的,但是从代码风格的angular度来看,是否有任何争论(如可能的混淆或可读性)?

评论称重系统,考虑到用户的喜好

在评分汇总的开源实现方面,我只看到了这个的衍生物: http : //www.evanmiller.org/how-not-to-sort-by-average-rating.html 我正在寻找一个系统,考虑到威尔逊评分置信区间之上的用户偏好。 例如,如果只有动作电影的评分为10的用户对浪漫电影评价为“太无聊”,则该algorithm将评价比评价为浪漫电影10的人低的评价。 任何人都可以解释如何做到这一点或链接到现有的实施。 谢谢。

Nodejs + Express – 不能调用未定义的方法“json”

我正在与Express,Hoganjs,Nodejs合作。 下面的代码不断返回“500 TypeError:不能调用未定义的方法'json' 我认为我打电话给getUsers是有问题的,但是我太多了。 我所提到的教程或论坛都没有提供帮助。 exports.admin = function(req, res){ getUsers(function(error, res){ res.render('admin', { title: 'Admin', userlist: res }); }); }; function getUsers(req, res) { res.json([ {username: "fake", permission: "admin" }, {username: "fake2", permission: "user" } ]) } exports.getUsers = getUsers;

在node.js vs C#中的networking爬虫性能

我正在编写一个应用程序,爬过一长串链接, 下载页面 ,使用xpath查询searchhtml元素,并将检索到的一些信息存储在mysql数据库中 。 我使用multithreading解决scheme来获取大部分服务器,并消除延迟的影响。 我使用csharp和java编写了大部分应用程序,并使用asp.net/c#编写了我的Web应用程序。 我想问的是Node.js是否值得从性能angular度考虑? 因为吞吐量是最重要的因素。 Node.js更便携,跨平台是另一个原因,但性能对我来说更重要。

防止EventEmitter触发多个排队事件

我有一个MyWorker类的两个实例。 我将这些对象的start方法绑定到start事件。 还有一些要处理的项目。 我将一个项目分配给每个对象,并emit start事件。 for (i = 0; i < objs.length; i += 1) { objs[i].item = items.shift(); } self.emit('start'); 启动方法有一些asynchronousIO作业,所以一切工作正常。 处理done后,对象发出done事件。 done方法检查items.length > 0 。 如果是,则将下一个项目分配给相同的对象并发出start事件。 MyClass.prototype.done = function (data) { var self = this; data.object.item = items.shift(); self.emit('start'); } 现在,考虑一个IO等待时间很less的事件,或者事件没有IO操作的情况。 全部同步。 在这种情况下,即使在下一个对象start事件之前, done事件也会被触发。 done将分配新的对象,并再次发射start 。 这是造成这个问题的原因。 第二个对象的start现在将被调用两次。 任何想法如何解决这个问题?

Socket io在重新连接时连接到多个套接字

我有一个应用程序,我使用Node js,socket io和redis实现了通知。 在那里,我已经成功地在节点js中configuration发布者和订阅者。 使用套接字我可以在客户端上显示消息,如实时。 我的devise是1个发布者发布到许多频道,每个用户只能听他自己的频道。 我发布到channel1和channel2,并且当用户只听他们的频道,他们只得到他们各自的消息一次。 直到现在,它工作得很好,顺利。 但在这里我的问题开始。 当互联网离线时,它试图重新连接,当它再次build立连接时,在每一次发布时,它开始订阅两次,并且由于这些信息显示两次。 我的代码是这样的服务器用户端 io.sockets.on('connection', function (socket) { var channelName = "channel"+socket.handshake.query.ch; console.log("======================================================================="); console.log("Connected to client – ["+socket.id+"] for ["+channelName+"]"); console.log("Transport Method – ["+io.transports[socket.id].name+"]"); console.log("======================================================================="); try{ var client = redis.createClient(); client.on("connect",function(){ client.subscribe(channelName)?console.log("channel subscribed to {"+channelName+"}"):console.log("Not Subscribed to {"+channelName+"}"); client.on("message", function(channel,message){ console.log("======================================================================="); console.log("Got message ["+message+"] in ["+channel+"]"); socket.emit("notification"+channel, { […]

Socket.io在每个发射失败

所以我正试图将我的项目从开发转移到生产,使用modulus.io进行托pipe。 问题是,每当我尝试在服务器< – >客户端连接之间发送或接收数据时,应用程序在服务器端失败。 这是我得到的错误: /mnt/data/2/node_modules/socket.io/lib/parser.js:75 data = JSON.stringify(ev); ^ TypeError: Converting circular structure to JSON at Object.stringify (native) at Object.exports.encodePacket (/mnt/data/2/node_modules/socket.io/lib/parser.js:75:19) at Socket.packet (/mnt/data/2/node_modules/socket.io/lib/socket.js:212:21) at Socket.emit (/mnt/data/2/node_modules/socket.io/lib/socket.js:368:15) at null.<anonymous> (/mnt/data/2/server/*******/*******.coffee:36:52) at wrapper [as _onTimeout] (timers.js:252:14) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15) 这是我在debugging的地方: 这是错误的地方,虽然有时候在其他地方,这取决于谁试图首先发出一个事件: Vent.socket?.emit('event', @) Socket.io在localhost上按预期工作 在失败之前,Socket.io成功连接到客户端(来自chrome开发工具): XHR finished loading: "http://********.onmodulus.net/socket.io/1/?t=1372727710817". socket.io.js:1659 XHR finished loading: […]