Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k 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 Reply

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...