web-dev-qa-db-ja.com

Express.js-すべての応答にヘッダーを設定する方法

WebサービスにExpressを使用していますが、応答をutf-8でエンコードする必要があります。

各応答に対して次のことができることを知っています。

response.setHeader('charset', 'utf-8');

エクスプレスアプリケーションによって送信されるすべての応答にヘッダーまたは文字セットを設定するクリーンな方法はありますか?

22
znat

すべてのルートに対して実行されるミドルウェアステートメントを使用するだけです。

// a middleware with no mount path; gets executed for every request to the app
app.use(function(req, res, next) {
  res.setHeader('charset', 'utf-8')
  next();
});

そして、これを適用したいルートの前に登録してください:

app.use(...);
app.get('/index.html', ...);

Expressミドルウェア ドキュメントはこちら

36
jfriend00