简单的Expressjs应用程序没有回应
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的Expressjs应用程序没有回应相关的知识,希望对你有一定的参考价值。
我正在努力升级到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'));
);
答案
中间件应该作为函数调用传递:
app.use(cookie);
app.use(body);
应该
app.use(cookie());
app.use(body());
以上是关于简单的Expressjs应用程序没有回应的主要内容,如果未能解决你的问题,请参考以下文章
ExpressJS/AngularJS:将 JSON 对象转换为字符串
没有 ExpressJS 到本地服务器的“Access-Control-Allow-Origin”标头
如何在 tsconfig.json 上启用 typeRoots 的 typescript/expressjs 应用程序上运行 jest