首页 > 解决方案 > 是否可以在每个请求中自动发送渲染数据?

问题描述

我想将数据从我的config.js文件发送到每个渲染。有没有办法用几行代码来做到这一点,而不必用每个渲染函数手动推送数据?

这就是我的意思

const data = require("config.js").coolData;

app.get("/", (req, res) => {
  res.render("index", {data});
});

app.get("/request2", (req, res) => {
  res.render("index", {data);
});

app.get("/request3", (req, res) => {
  res.render("index", {foo, data);
});

有没有办法轻松发送data给所有三个?

标签: node.jsexpressejs

解决方案


如果您使用的是 express,则可以res.locals;在中间件中进行,例如:

const data = require("config.js").coolData;
app.use((req, res, next) => {
    res.locals.data = data;
    next();
});
...

只要确保将中间件放在任何其他路线之前


推荐阅读