Express.js:对象#<IncomingMessage>没有方法“调用”

安装Express.js后,我在节点上写了这个:

var express = require('express'), app =express.createServer(); app.configure(function(){ app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(express.router); }); app.get('/', function(req, res){ res.send('hola mundo'); }); app.listen(3020); console.log('Hola Mundo'); 

当我启动应用程序时,我可以看到“Hola Mundo”的消息,但是当我提出请求时,我收到了这个消息:

 TypeError: Object #<IncomingMessage> has no method 'call' at Object.router [as handle] (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/middleware/router.js:96:6) at next (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:203:15) at Object.bodyParser [as handle] (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:88:61) at next (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:203:15) at Object.methodOverride [as handle] (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:35:5) at next (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:203:15) at Object.handle (/home/alumno/Escritorio/nodejs/node_modules/express/lib/http.js:84:5) at next (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:203:15) at HTTPServer.handle (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:216:3) at HTTPServer.emit (events.js:70:17) 

谢谢阅读

删除app.use(express.router),它完美的作品。

你得到这个错误,因为你使用express.router而不是app.router

尝试使用express-validator模块。 可以在这里find

喜欢这个

  var expressValidator = require('express-validator'); app.use(expressValidator());