2012-01-22 28 views
1

後安裝Express.js,我寫了這個節點:Express.js:對象#<IncomingMessage>有沒有方法「叫」

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世界報」當我開始該應用程序,但是當我做我收到此請願書:

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) 

感謝您閱讀

+0

我建議你直接從快遞網站複製的例子,做'RM node_modules; npm install express'只是爲了確保一切都是最新版本。 – DTrejo

+0

錯誤何時發生?什麼請願書? – fent

+0

感謝您的回答。 這和快遞指南是一樣的。我的意思是http請願書,對我英語不好的話感到抱歉。 它沒有路由器線完美的作品,謝謝。但是我想知道爲什麼我必須保留這一行,如果我有節點並且快速更新,我只是從Express頁面複製完整的示例代碼?問候 – neb642

回答

2

刪除app.use(express.router)和它完美的作品。

+0

感謝您的回答。 這和快遞指南是一樣的。我的意思是http請願書,對我英語不好的話感到抱歉。 它沒有路由器線完美的作品,謝謝。但是我想知道爲什麼我必須保留這一行,如果我有節點並且快速更新,我只是從Express頁面複製完整的示例代碼?問候 – neb642

+0

由於快遞正處於積極的發展階段,有時候文檔可能會與實際實施有些不同步。 – timoxley

1

由於您使用的是express.router而不是app.router,所以出現此錯誤。

0

嘗試使用express-validator模塊。可以發現 here

這樣

var expressValidator   = require('express-validator'); 
app.use(expressValidator()); 
相關問題