NodeJS Connect 简单错误处理中间件
//错误处理中间件函数必须接受四个参数:err、req、res和next,
//而常规的中间件只有三个参数:req、res和next
function errorHandler(){
//用NODE_ENV设定程序的模式 Connect通常是用环境变量NODE_ENV (process.env.NODE_ENV)
//在不同的服务器环境之间切换,比如生产和开发环境
var env = process.env.NODE_ENV || "development";
return function(err,req,res,next){
res.statusCode = 500;
switch(env){
case "development":
res.setHeader("Content-Type","application/json");
res.end(JSON.stringify(err));
break;
default:
res.end("Server error");
}
}
}