1

我正在关注来自http://www.manning.com/cantelon/的“Node.js In Action”一书的早期访问版本,并且作者在有关 Express 的部分中对“res”对象使用方法“error()”。因此,从书中复制的以下代码:

exports.required = function(field){
    field = parseField(field);
    return function(req, res, next){
        if (getField(req,field)){
            next()
        } else {
            res.error(field.join(' ') + ' is required');
...

但是,这会因错误而中断:

TypeError: Object #<ServerResponse> has no method 'error'

从 Node.js 文档中,我看到没有响应对象的方法。我想知道是否有一个中间件用我需要包含的缺失方法 error() 来装饰“res”对象。这是当前的配置:

app.configure(function(){
  app.set('port', process.env.PORT || 3001);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.set('photos', __dirname + '/public/photos');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.static(path.join(__dirname, 'public')));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser('your secret here'));
  app.use(express.cookieSession());
  app.use(user);
  app.use(app.router);
  app.use(express.errorHandler());
});

如果没有,但您知道如何使用方法 error() 来装饰响应对象,如果您能分享它的代码片段,我将不胜感激。谢谢你

4

0 回答 0