首页 > 解决方案 > 是否可以在 pug 和 expressjs 中参数化布局路径?

问题描述

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

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

在哈巴狗文件中

extends #{layout}
h1 This is a login page

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

标签: expresspug

解决方案


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

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

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

包括/login-markup.pug

h1 This is a login page

视图/登录页面-a.pug

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

视图/登录页面-b.pug

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

推荐阅读