是否可以在 pug 和 expressjs 中参数化布局路径?

Is it possible to parameterize layout path in pug and expressjs?

我正在尝试将布局路径传递到这样的哈巴狗文件中。在快递中:

res.send(pug.renderFile(loginPagePath, { layout: layoutPath }));

在 pug 文件中

extends #{layout}
h1 This is a login page

没用。有没有可能,我想要的?

不,无法根据变量设置 extends 指令的路径。

还不清楚您为什么要这样做。您的登录页面肯定总是使用相同的布局模板吗?

如果您想在两个具有不同模板的页面上使用相同的内容块(例如登录表单),最好的方法是使用 include 指令:

includes/login-markup.哈巴狗

h1 This is a login page

views/login-page-a.哈巴狗

extends ../layouts/template-a
include ../includes/login-markup

views/login-page-b.哈巴狗

extends ../layouts/template-b
include ../includes/login-markup