Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
966 views
in Technique[技术] by (71.8m points)

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

I'm trying to pass a layout path into a pug file like this. In express:

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

In pug file

extends #{layout}
h1 This is a login page

It doesn't work. Is it possible, what I want?

question from:https://stackoverflow.com/questions/65642719/is-it-possible-to-parameterize-layout-path-in-pug-and-expressjs

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

No, it's not possible to set the extends directive's path based on a variable.

It's also unclear why you would want to do that. Surely your login page always uses the same layout template?

If you want to use the same chunk of content (like a login form) on two pages with different templates, the best way to do that is with the include directive:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...