【发布时间】:2020-11-10 14:57:05
【问题描述】:
我只想对部分文件(而不是整个项目)使用ejs layouts。但是使用express-ejs-layouts 它对所有文件使用布局。这是代码的核心部分。
app.get("/page1",(req,res)=>{
res.render("p1");
});
app.get("/page2",(req,res)=>{
res.render("p2");
});
app.get("/page3",(req,res)=>{
// Don't add Layout file in this page
res.render("p3",{
layout:null
});
});
我在 stackoverflow 中发现,您可以通过传递具有 key layout 的 object 及其 value 作为布局文件的名称 { layout : "layoutNumberOne" } 来使用多个布局。但是将其值设置为undefined 或null 不起作用。我想要的解决方案不是创建一个空的布局文件并将object中的该文件的名称传递给render()可以工作的函数,因为如果是这种情况,我将不得不指定{ layout : "emptyLayout" }在我有很多的所有页面中。我正在寻找一个可以将layout 添加到特定route 的答案,这样路由中的所有请求都会有这个布局文件并且不会影响其他路径。我该怎么做?
【问题讨论】:
标签: javascript node.js express ejs