,可以通过中间件来实现。中间件是Express框架中的一个重要概念,它可以在请求和响应之间执行一些操作,例如处理请求参数、验证用户身份等。
以下是一种实现方式:
// localsMiddleware.js
const localsMiddleware = (req, res, next) => {
// 在这里定义需要传递到模板中的变量
const myVariable = "Hello, World!";
// 将变量添加到res.locals对象中
res.locals.myVariable = myVariable;
// 调用next()继续处理请求
next();
};
module.exports = localsMiddleware;
// app.js
const express = require('express');
const app = express();
// 导入自定义的中间件函数
const localsMiddleware = require('./localsMiddleware');
// 注册中间件
app.use(localsMiddleware);
// 设置模板引擎为ejs
app.set('view engine', 'ejs');
// 处理路由
app.get('/', (req, res) => {
// 渲染模板,并将res.locals中的变量传递给模板
res.render('index', { myVariable: res.locals.myVariable });
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
<!-- index.ejs -->
<!DOCTYPE html>
<html>
<head>
<title>My App</title>
</head>
<body>
<h1><%= myVariable %></h1>
</body>
</html>
通过以上步骤,我们可以在每个ejs模板中访问到传递的变量。在这个例子中,我们将"Hello, World!"传递给了模板,并在页面上显示出来。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云