Tag: 表示

如何以编程方式closuresExpressJS的实例进行testing?

我想弄清楚如何closuresExpress的一个实例。 基本上,我想要.listen(port)调用的反向 – 我如何获得一个Express服务器停止监听,释放端口,并干净关机? 我知道这似乎可能是一个奇怪的查询,所以这里是上下文; 也许还有另一种方法来解决这个问题,我正在考虑错误的方式。 我正在尝试为我的socket.io/nodejs应用程序设置一个testing框架。 这是一个单页面的应用程序,所以在我的testing脚本(我使用摩卡 ,但这并不重要),我想能够启动服务器,运行testing,然后closures服务器。 我可以通过假设服务器在testing开始之前打开,或者通过其中一个testing启动服务器,并且随后的每个testing都假定它已经启动,但是这真的很混乱。 我更愿意让每个testing文件都以适当的设置启动一个服务器实例,然后在testing结束时closures这个实例。 这意味着没有奇怪的依赖运行testing,一切都是干净的。 这也意味着我可以做启动/关机testing。 那么,有关如何做到这一点的任何build议? 我曾经想过手动触发exception来使它失效,但这似乎很混乱。 我已经挖掘了快速文档和来源,但似乎无法find任何方法,将closures服务器。 在socket.io中也可能有这样的一些东西,但是由于套接字服务器只连接到了Express服务器,所以我认为这需要在快速层进行。

在Express 4和express-generator的/ bin / www中使用socket.io

所以这里是交易:我试图在一个快速项目中使用socket.io。 在Express Js 4发布后,我更新了我的快速生成器,现在应用程序的初始function进入./bin/www文件,包括那些variables(www文件内容: http : //jsfiddle.net/avMa5/ ) var server = app.listen(app.get('port'), function() {..} (通过npm install -g express-generator ,然后express myApp 就这么说吧,让我们回忆一下socket.io文档是如何要求我们解雇的: var app = require('express').createServer(); var io = require('socket.io')(app); 好吧,但我不能在app.js里面做,就像推荐一样。 这应该在./bin/www中完成才能工作。 在./bin/www这是我能做些什么来得到它的工作: var io = require('socket.io')(server) 确定这个工程,但我不能在任何地方使用io var,我真的不想把我的socket.io函数在www文件。 我想这只是基本的语法,但我不能得到这个工作,甚至没有使用module.exports = server或server.exports = server或module.exports.io = app(io)上的WWW文件 所以问题是:我如何使用socket.io这个/ bin / www文件作为我的应用程序的起点?

Node.js + Express.js用户权限安全模型

我们有一个应用程序,有两种types的用户。 根据用户login的方式,我们希望他们可以访问应用程序的不同部分。 我们如何实现一个安全模型来防止用户看到他们无法访问的东西? 我们是否将安全作为每条路线实施的一部分? 问题是,我们将有一些重复的逻辑请求。 我们可以将其转换为辅助函数,但是我们仍然需要记住调用它。 我们是否将安全性作为全局app.all()路由处理程序的一部分? 问题是,我们必须检查每条路线,并根据多种规则做不同的逻辑。 至less所有的代码都在一个地方,但是…所有的代码都在一个地方。

必须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(); }); 这两种情况都有效,但是当我运行很多请求时,我担心泄漏或者文件描述符或者类似的东西。 哪一个更“正确”?

configuration节点快递服务静态bower_components?

我有一个目录结构 projectName | – bower_components/ | – public/ | – css | – js | – index.html | – Gruntfile.js | – package.json | – bower.json | – app.js 我想开始我的应用程序,并与节点服务index.html 。 所以在app.js我有: var express = require('express'); var port = process.env.PORT || 3000; var app = express(); app.configure(function(){ // Serve up content from public directory app.use(express.static(__dirname […]

expression下一个function,它真的是什么?

一直试图findnext()方法的一个很好的描述。 在Express文档中,它表示可以使用next('route')跳转到该路由并跳过其间的所有路由,但是有时next被调用,而没有参数。 任何人都知道一个很好的教程等,描述nextfunction?

connect / expressjs中的“签名”cookie是什么?

我试图找出“签名的cookies”实际上是什么。 网上没有太多,如果我尝试这个: app.use(express.cookieParser('A secret')); 但仍然…在浏览器中Cookie仍然是100%正常的,我不知道这里有什么“签名”(我有点希望在客户端看到一些奇怪的东西,比如使用encryption的数据作为盐的“秘密”?) 文档说( https://github.com/expressjs/cookie-parser ): parsingCookie标题,并使用由Cookie名称键入的对象填充req.cookies 。 或者,您可以通过传递一个secretstring来启用签名cookie支持,该string指定req.secret以便其他中间件可以使用该string。 有人知道吗? 芝加哥商业交易所。

app.all('*')和app.use('/')之间的区别

在Node.JS Express中app.use('/', …) app.all('*', … )和app.use('/', …)有用?

如何获得快递请求对象的请求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是/当它应该/帐户?

express.js中“app.render”和“res.render”有什么区别?

app.render文档: 用渲染的string回应callback视图。 这是res.render()的应用程序级变体,否则performance方式相同。 res.render文件: 用渲染的string回应callback视图。 当下一个错误next(err)被内部调用时。 当提供callback时,可能的错误和呈现的string都被传递,并且不执行自动响应。 有人能帮我弄清楚何时使用哪一个?