【问题标题】:No response from simple Expressjs app简单的 Expressjs 应用程序没有响应
【发布时间】:2014-06-06 02:27:33
【问题描述】:

我正在努力升级到 expressjs 4.0。下面的非常简单的代码将请求挂起到http://localhost:3000/,并且没有任何重新排列的东西可以解决这个问题。但是,如果我注释掉 cookie-parser、body-parser 和 express-session 的 app.use() 语句,它就可以工作。显然我需要它们,因此不能将它们注释掉。

我知道我做错了,这很简单,但我看不到。有人可以在正确的方向上推动我吗?

var express = require('express')
  , cookie = require('cookie-parser')
  , body = require('body-parser')
  , session = require('express-session')
  , http = require('http');

var app = express();
var router = express.Router();

app.use(cookie);
app.use(body);
app.use(session({ secret: 'bigsecret' }));

router.get('/', function(req, res, next) {
  res.send('Welcome');
});

app.use(router);

app.set('port', process.env.PORT || 3000);

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

【问题讨论】:

    标签: node.js session cookies express connect


    【解决方案1】:

    中间件应该作为函数调用传递:

    app.use(cookie);
    app.use(body);
    

    应该是

    app.use(cookie());
    app.use(body());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-30
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多