7

現在、 expressjsアプリにエラー&通知機能を追加しようとしています。電話で思った

app.use(function (req, res, next) {
  res.notice = function (msg) {
    res.send([Notice] ' + msg);
  }
});

通知関数は、アプリケーションに存在するすべてのresオブジェクトにアタッチされ、次のように使用できるようになります。

app.get('something', function (req, res) {
  res.notice('Test');
});

ただし、上記の例は機能しません。私がやろうとしていることを達成する方法はありますか?

4

1 に答える 1

12

にメソッドをnext追加した後に呼び出す必要があります。noticeres

app.use(function (req, res, next) {
  res.notice = function (msg) {
     res.send('[Notice] ' + msg);
  }
  next();
});

そして、ルート定義の前にこのミドルウェアを追加する必要があります。

アップデート:

ルーターの前にミドルウェアを追加する必要があります。

var express = require('express');
var app = express();

app.use(function (req, res, next) {
    res.notice = function (msg) {
        res.send('[Notice] ' + msg);
    };
    next();
});

app.use(app.router);
app.get('/', function (req, res) {
    res.notice('Test');
});

app.listen(3000);
于 2012-09-01T19:48:59.900 に答える