Express.js: у объекта # <IncomingMessage>нет метода 'call' - PullRequest
1 голос
/ 22 января 2012

после установки 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)

Спасибо за чтение

Ответы [ 3 ]

2 голосов
/ 22 января 2012

Удалите app.use (express.router) и оно отлично работает.

1 голос
/ 30 августа 2012

Вы получаете эту ошибку, потому что используете express.router, а не app.router.

0 голосов
/ 05 мая 2014

попробуйте использовать модуль экспресс-валидатора.Можно найти здесь

вот так

 var   expressValidator         = require('express-validator');
 app.use(expressValidator());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...