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

问题描述

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

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

在 pug 文件

extends #{layout}
h1 This is a login page

它不起作用。有可能吗,我想要什么?

解决方法

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

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

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

includes/login-markup.pug

h1 This is a login page

views/login-page-a.pug

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

views/login-page-b.pug

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