Tag: node.js

如何获得快递请求对象的请求path

我使用express + node.js,我有一个req对象,在浏览器中的请求是/帐户,但是当我loginreq.path时,我得到'/'—不是'/ account'。 //auth required or redirect app.use('/account', function(req, res, next) { console.log(req.path); if ( !req.session.user ) { res.redirect('/login?ref='+req.path); } else { next(); } }); 请求path是/当它应该/帐户?

使用mocha和node.js对私有函数进行unit testing

我正在使用摩卡来testing为node.js编写的应用程序 我想知道是否可以unit testing没有在模块中导出的函数。 例: 我在foobar.js定义了很多这样的函数 function private_foobar1(){ … } function private_foobar2(){ … } 和一些作为公众出口的function: exports.public_foobar3 = function(){ … } testing用例的结构如下: describe("private_foobar1", function() { it("should do stuff", function(done) { var stuff = foobar.private_foobar1(filter); should(stuff).be.ok; should(stuff)….. 显然这是行不通的,因为private_foobar1没有被导出。 unit testing私有方法的正确方法是什么? 摩卡是否有一些内置的方法来做到这一点?

在expressjs中使用next()将variables传递给下一个中间件

那么我的问题是我想通过一些variables从第一个中间件到另一个中间件,我尝试这样做,但有req.somevariable是一个给定的'未定义'。 //app.js .. app.get('/someurl/',middleware1,middleware2) … ////middleware1 … some conditions … res.somevariable = variable1; next(); … ////middleware2 … some conditions … variable = req.somevariable; … 谢谢回答。

Node.js请求对象文档?

这是一个非常简单的问题,但我没有在Google上find任何东西。 我正在寻找在Node.js的创build服务器function请求参数的文档,但我一直无法find任何东西。 http.createServer(function(request, response){ console.log(JSON.stringify(request)); }); 用JSON.stringify()debugging给我一个错误,对象是循环的,程序停止。 我见过不同的东西,如request.url或request.body ,但有没有一个页面logging所有的请求函数和参数? 似乎应该很容易find,我似乎无法find它。 我再次尝试,结果只是做console.log(request)写出console.log(request)所有数据。 这里只是作为参考: ondata: [Function], _httpMessage: { domain: null, _events: [Object], _maxListeners: 10, output: [], outputEncodings: [], writable: true, _last: false, chunkedEncoding: false, shouldKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: true, _hasBody: true, _trailer: '', finished: false, _hangupClose: false, socket: [Circular], connection: [Circular] } }, connection: { _connecting: […]

什么是npm init中的“入口点”?

我有一个空的新项目,当我运行npm初始化我有一个问题的列表回答,例如: name: (karma) version: (1.0.0) description:my project description entry point: (index.js) 我真的很困惑那个说“入口点”,这应该是我的index.html文件或我的app.js或是别的东西?

必须res.end()与node.js快速调用?

我有几个Express应用程序,并且我看到在某些模块中, res.end()在请求处理程序(在res.send或res.json )的末尾被调用,而在另一些模块中则不被调用。 例如: app.get('/test', function(req, res) { res.send('Test', 200); }); 要么: app.get('/test', function(req, res) { res.send('Test', 200); res.end(); }); 这两种情况都可以工作,但是当我运行很多请求时,恐怕会泄漏或者耗尽文件描述符或类似的东西。 哪一个更“正确”?

我可以在coffeescript中编写npm包吗?

我已经使用咖啡一段时间了。 现在我需要写一个npm包,我可以写在coffeescript,或者我应该编译成javascript的coffeescript?

BDD和TDD为node.js?

什么是用于BDD和TDD与node.js? 我习惯使用Cucumber + RSpec。 什么是node.js的一个很好的组合? 谢谢

如何判断npm包是全局还是本地安装的

我正在windows7上安装grunt,node,npm,bower和grunt-cli。 说明说我应该运行带有-g标志的全局安装命令。 如何检查我安装时是否使用了-g标志。 卸载并重新安装需要很长时间。

为什么绑定比闭包慢?

以前的海报在Javascript中使用Function.bind vs Closure问题:如何select? 并收到了这个答案的一部分,这似乎表明绑定应该比closures更快: 范围遍历的意思是,当你要获取一个存在于不同范围内的值(variables,对象)时,因此会增加额外的开销(代码执行速度会变慢)。 使用绑定,你正在调用一个现有的范围的函数,所以范围遍历不会发生。 两个jsperfs表明绑定实际上比闭包慢得多。 这是作为对上述评论发布 而且,我决定写我自己的jsperf 那么为什么要这么慢(铬含量70%以上)呢? 既然速度不快,closures可以达到同样的目的,应该避免绑定?