不能用nw-gyp重buildnode-opencv

我正在尝试重buildnode-opencv以与node-webkit 。 要做到这一点,你需要使用nw-gyp,但我遇到了一些错误。 你能否告诉我为什么会这样? [~/nw_cv/node_modules/opencv] nw-gyp rebuild –target=0.9.2 gyp info it worked if it ends with ok gyp info using nw-gyp@0.12.2 gyp info using node@0.10.26 | darwin | x64 gyp info spawn python gyp info spawn args [ '/usr/local/lib/node_modules/nw-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp […]

如何从configuration中加载socket io事件监听器?

我有使用socket io的nodejs应用程序。 我将存储在./config/routes.js中的所有事件侦听器 module.exports.routes = { '/auth/login': { controller: 'auth', action: 'login' }, '/user/register': { controller: 'user', action: 'register' }, '/auth/logout': { controller: 'auth', action: 'logout' } }; 这样的主要应用程序: var router = require('./config/routes.js'); var io = require('socket.io').listen(8888); // Socket events io.sockets.on('connection', function(socket) { for (var route in router.routes) { if (router.routes.hasOwnProperty(route)) { socket.on(route, function(data) { […]

使用Rally API获取排名属性

获取目标,计划,function和用户故事时是否可以获得Rank属性? 我想通过自己的订单财产来订购每一个级别。 例如,如果我显示的是目标,我希望通过排名属性来排列它们,或者如果我正在显示用户故事,我想按自己的排名(而不是按他们所属的目标排名)排列。 这是可能的,我该怎么做? 这是我的function片段: async.map(goals, function(goal, cb) { self.restApi.query({ type: 'portfolioitem/initiative', limit: Infinity, order: 'Rank', ref: goal.Children, fetch: ['FormattedID', 'Name', 'Children', 'Parent', 'Rank'] }, cb); }, function (err, results) { // do something }); 我以后应该如何访问这个Rank属性? 看起来像是包含在DragAndDropRank中。

用gulp / nodejs从LESS / CSS文件中抓取hex颜色?

我试图从一个较less的文件中抓取所有的颜色,并将其input到nodejs / gulp中的另一个stream中,输出到一个模板。 基本上采取LESS文件,并生成一个快速的HTML页面的颜色。 用于显示节点stream/吞吐方式的奖励点[tm]。 🙂 用于向我展示如何一次拉入多个文件进行处理的奖励点数 这是我的代码: //Grab the shared colors gulp.task('getsharedcolors', function () { gutil.log('Getting shared styles from: ' + path.join(paths.source.assets_root + paths.source.assets_shared_styles + paths.source.assets_shared_colors)); fs.readFile(path.join(paths.source.assets_root + paths.source.assets_shared_styles + paths.source.assets_shared_colors), function(err, data) { if(err) { return gutil.log(err); } reRGBa = /^rgba?\(\s*(\d{1,3}(?:\.\d+)?\%?)\s*,\s*(\d{1,3}(?:\.\d+)?\%?)\s*,\s*(\d{1,3}(?:\.\d+)?\%?)\s*(?:\s*,\s*(\d+(?:\.\d+)?)\s*)?\)$/; reHSLa = /^hsla?\(\s*(\d{1,3})\s*,\s*(\d{1,3}\%)\s*,\s*(\d{1,3}\%)\s*(?:\s*,\s*(\d+(?:\.\d+)?)\s*)?\)$/; reHex = /^#?([0-9a-f]{6}|[0-9a-f]{3})$/i; lines = data.toString().split('\n'); for (var line […]

具有请求的茉莉花节点 – testingredirect不遵循redirect的终结点

即使添加followAllRedirects只会将response.statusCode从302更改为200但是body仍然是前一个响应的内容,而响应的所有其他属性都反映了旧的response 。 注意:我正在使用grunt进行testing。 没有遵循redirect的原因?

Express JS中dynamic路由的对象数组

我有一个对象数组来定义我的路线,当我迭代对象,我/路线没有问题,但任何随后的路线返回404 。 为了排除故障,它们都指向相同的索引路由。 代码如下: /** * Module dependencies. */ var express = require('express') , routes = require('./routes') , http = require('http') , path = require('path'); var app = express(); var pagesArray = [ { name: '/', route: routes.index }, { name: 'about', route: routes.index }, { name: 'contact', route: routes.index }, { name: 'commentary', route: […]

时间以前在Javascript中未定义

我使用下面的函数prettyDate()将时间戳转换为更友好的格式。 我不需要一个插件,它自动将div中的值转换为“Time ago”格式。 一个API返回时间戳1400564166115和1400695785000 。 date.now()给出1400696094406 。 使用下面的代码,将第一次时间戳1400564166115转换为2014-05-20T05:36:06.115Z ,其中函数prettyDate()将其转换为Yesterday 。 对于第二个时间戳, 1400695785000转换为2014-05-21T18:09:45.000Z ,但prettyDate()将其变成undefined 。 另外,在这种情况下day_diff是-1 。 diff是-14347.209并慢慢地移向0。 为什么它给undefined ,是什么导致day_diff <0 ? JSfiddle: http : //jsfiddle.net/pWNrS/ 例 var d = new Date(parseInt(1400564166115)).toISOString() prettyDate(d) // Yesterday var e = new Date(parseInt(1400695785000)).toISOString() prettyDate(e) // undefined *****WHY?***** prettyDate() prettyDate = function(time){ var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")), […]

如何尝试赶上ws错误“getaddrinfo ENOTFOUND”?

我正在使用使用WebSocket“ws”连接到另一台服务器的nod​​ejs。 但是,有时当服务器B不可达时,主要是“getaddrinfo ENOTFOUND”问题会阻止我的服务器,这是不被接受的,我应该使用try catch来处理情况并尝试以后连接。 我应该在哪里试试catch? 它不会触发ws.onerrorcallback。 我发现在如何捕获getaddrinfo ENOTFOUND类似的情况 但我不知道如何使用这种方法的ws接口。

使用amqplib控制Node.JS,控制RabbitMQ使用者的使用率

我的应用程序使用RabbitMQ队列来存储消息,然后我有一个工作人员消费这些消息,并将其插入到数据库中。 目的不是强调工作负载高峰期的数据库。 我遇到的问题是,在那些高峰期,队列的发布率真的很高,工作人员每秒钟开始接收的消息比它能处理的时间多,直到它崩溃。 有什么办法来控制消费率,所以我可以确保工人收不到消息比消耗更快? 信息并不重要,所以我不介意他们有多less时间入队,直到工作人员能够处理。 我使用的Node.JS amqplib,这是我使用的工人代码: open.then(function(conn) { var ok = conn.createChannel(); ok = ok.then(function(ch) { ch.assertQueue(q); ch.consume(q, function(msg) { if (msg !== null) { message = JSON.parse(msg.content.toString()); processMessage(message); } }, {noAck: true}); }); return ok; }).then(null, console.warn);

了解Try / Catch和Domains在Node中的error handling

我一直在研究正确的方法来处理Node中的错误,并且在StackOverflow和NodeJS的站点上find了一些很好的答案,例如如何防止node.js崩溃? try-catch不起作用 ,并且NodeJS自己logging: http : //nodejs.org/api/domain.html 。 不过,我还剩下几个问题,关于何时何地使用try / catch和/或域名。 我意识到这与asynchronous代码和同步代码有关,但即使在NodeJS网站提供的有关域的示例代码中,它们也会在域的error handling程序中使用try / catch。 有人可以解释一些细节,try / catch不会在error handling程序中捕获asynchronous错误吗? 除此之外,NodeJS的文档build议您仍然应该结束exception进程,这就是为什么来自Domain文档的代码build议在发生exception时使用集群来分派新的subprocess/ worker。 主要的原因是: 由于JavaScript在JavaScript中的工作原理,几乎没有任何方法可以安全地“捡起你离开的地方”,而不会泄漏引用或创build其他某种不明确的状态。 有人可以解释这个吗? 抛出在JavaScript中如何工作的本质是什么? 为什么资源会疯狂泄漏? 是否真的有必要重新启动进程或杀死/启动一个工人? 例如,我正在实现JugglingDB ORM,并且曾经忘记启动我的本地mysql服务器。 我遇到了一个ECONNREFUSED错误,导致程序崩溃。 意识到这可能发生在生产环境(数据库崩溃或暂时不可用),我想抓住这个错误,并妥善处理; 重试连接,维护关于数据库的状态variables,并可能通过响应暂时不可用的消息来处理请求。 Try / Catch根本没有发现错误,尽pipe我看到我可以使用一个域名,但是使用推荐的策略,我将处于无休止的杀死和启动工作的循环,直到数据库恢复在线。 JugglingDB ,无论出于何种原因,只有一个“连接”的事件,但没有任何forms的callback函数,通过一个错误的对象; 它试图连接你实例化类的那一刻,并抛出没有捕获并以优美的方式散发的错误。 这使我想看看其他的ORM,但这仍然不能回答我有关如何处理这种情况的问题。 使用一个域来捕获潜在的连接错误,并在没有启动一个新进程的情况下正常处理它会是错误的吗? 这里是我发布到JugglingDB github上的问题: https : //github.com/1602/jugglingdb/issues/405 ,这里是JugglingDB在服务器不存在时产生的错误的堆栈跟踪在启用池选项时发生 ): Error: connect ECONNREFUSED at errnoException (net.js:901:11) at Object.afterConnect [as […]