我正在开发一个当前依赖于 Jade 模板并使用以下设置的项目:
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
我正在构建该网站的“V2”版本,并将使用客户端 HTML 而不是 Jade。我设置了一个基本的解决方法,通过在路由处理程序中执行以下操作来避免当前的 Jade 结构:
function(req, res) {
res.sendFile(path.join(__dirname, '../assets/v2', 'index.html'));
};
问题是我现在还需要在渲染页面的同时发送 req.user
详细信息,显然 res.sendFile()
不允许这样做。
理想情况下,我想在我的路由处理程序中执行类似的操作:
function(req, res) {
res.render(path.join(__dirname, '../assets/v2', 'index.html'), {user: req.user});
};
最佳答案
如果您想在没有任何模板引擎的情况下提供动态 html,您将编写大量冗余代码。 Express 本身不提供任何功能来执行此操作,也不应该提供。
否则您可以做的是构建 REST API,在客户端使用 MVC(angular.js
非常好)并提供数据。
例如:
GET /user-data
{
user: some_user
}
关于javascript - 可以在 Express 中使用多个 View 引擎和多个 View 文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462539/