Mas*_*iar 18 node.js express pug
我在node.js有一个网站; 创建一个页面,说mypage
我注意到我需要创建一个layout.jade
和mypage.jade
文件.如果我mypage.jade
没有显示代码,那么首先我必须填写layout.jade
页面的布局.
我的问题是,如何在内部引用layout.jade
我想加载mypage.jade
某个容器中的内容,例如?我可以使用相同布局的不同页面吗?我怎样才能做到这一点?
谢谢
ale*_*lex 30
http://expressjs.com/guide.html#view-rendering
如果您不想使用布局,可以在全局禁用它们:
app.set('view options', {
layout: false
});
Run Code Online (Sandbox Code Playgroud)
如果不这样做,默认情况下会启用布局,Express会在your_view_folder/layout.jade中搜索标准布局
您可以为每条路线指定单独的布局:
res.render('page', { layout: 'mylayout.jade' });
// you can omit .jade if you set the view engine to jade
Run Code Online (Sandbox Code Playgroud)
以下是您的布局文件的方式:
doctype html
html(lang="en")
head
title Testing 123
body
div!= body
Run Code Online (Sandbox Code Playgroud)
请注意,正文将从"mypage.jade"中获取.
编辑:
这是应用程序中的一个真实示例:
应用程序文件(包含路由和配置):https:
//github.com/alexyoung/nodepad/blob/master/app.js
布局文件:https:
//github.com/alexyoung/nodepad/blob/master/views/layout.jade
派对有点晚了,但我最初努力找到答案......在layout.jade
doctype html
html(lang="en")
head
body
h1 Hello World
block myblock
Run Code Online (Sandbox Code Playgroud)
然后在index.jade中
extends layout
block myblock
p Jade is cool
Run Code Online (Sandbox Code Playgroud)
会渲染
<!DOCTYPE html>
<html lang="en">
<head>
<body>
<h1>Hello World</h1>
<p>Jade is cool</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
49239 次 |
最近记录: |