私は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 docs から、応答オブジェクトのメソッドがないことがわかります。私が含める必要があるメソッド 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() を使用して応答オブジェクトを装飾する方法を知っている場合は、そのコード スニペットを共有していただければ幸いです。ありがとうございました