2012-05-17 89 views
1

我在快速錯誤處理時遇到了問題。這是我的服務器配置。NodeJs ExpressJS錯誤處理故障

server.use(express.static(__dirname + '/public')); 
    server.use(server.router); 
    server.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
    server.use(express.bodyParser()); 

然後我嘗試添加這行代碼

server.error(function(err, req, res, next){ 
if (err instanceof NotFound) { 
    res.render('404.jade'); 
} else { 
    next(err); 
} 
}); 

然後在我的控制檯,我得到這個消息,

對象功能的應用程序(REQ,RES){app.handle( req,res); }沒有方法'錯誤'

我做錯了什麼?我不能得到錯誤處理工作。

+0

檢查我的答案相關的問題:http://stackoverflow.com/questions/10170857/can-i-reuse-the-express-js-error-view/10556093#10556093 – Pickels

回答

3

您使用的是什麼版本的快遞?

因爲有一個新的3.X版本仍處於alpha階段)指出,改變了不少a lot of stuff,以及東西,如錯誤處理改變

退房的migration guide from 2.x to 3.x

該頁面正在進行中,請考慮移回2.x或等待更好3.x文檔和移植指南

+0

是的,似乎3.X是安裝。將檢查一下降級的方法。將看看npm是否有這個功能。謝謝! – theintersect

+1

只要做:npm install [email protected] – BFil

+0

是的,但似乎2.59與我的節點版本不兼容。我有節點v0.7.2 - 預安裝。我想知道是否有降級的方法。謝啦。 – theintersect