Express.js - 如何为所有响应设置标头

zna*_*nat 22 http-headers node.js express

我使用Express进行Web服务,我需要在utf-8中编码响应.

我知道我可以对每个回复做以下事情:

response.setHeader('charset', 'utf-8');
Run Code Online (Sandbox Code Playgroud)

是否有一种干净的方法为快递应用程序发送的所有响应设置标题或字符集?

jfr*_*d00 37

只需使用为所有路由执行的中间件语句:

// 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();
});
Run Code Online (Sandbox Code Playgroud)

并且,确保在您希望它应用于的任何路由之前注册:

app.use(...);
app.get('/index.html', ...);
Run Code Online (Sandbox Code Playgroud)

在这里表达中间件文档.