链接到其他的玉文件

我想了解Express和Jade的工作原理。

首先,当我使用layout.jade作为模板文件(header,body,footer)并使用不同的文件在主体中显示信息时(请参阅下面的示例),我是做得对吗?

代码工作正常,但我不确定这是否是在Express中做正确的方法。 如果我应该继续这个结构,我怎么能链接到其他文件(例如,about.jade)从例如index.jade内部,以显示该文件,而不是index.jade?

提前致谢!

layout.jade:

!!! 5 html head title= title link(rel='stylesheet', href='/stylesheets/style.css') script(type='text/javascript', src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js') script(type='text/javascript', src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js') script(type='text/javascript', src='/javascripts/external.js') // Header header#header // Navigation nav#nav // Navigation code (ul, li etc)... // Sidebar aside#sidebar // Sidebar code... // Body body!= body 

index.jade:

 !!! 5 html head title= title section#wrapper img.imageStyle(src = '/images/test1.png') // And so on... 

About.jade:

 // You get it... 

我认为你正在寻找的是快速查看渲染路线: http : //expressjs.com/en/guide/using-template-engines.html

所以你可以设置这样的东西:

 app.get('/', function(req, res){ res.render('index.jade', { title: 'index' }); }); app.get('/about', function(req, res){ res.render('about.jade', { title: 'about' }); }); 

要从一个到另一个链接,一旦你有适当的路线configuration,你可以做一些事情:

 a(href='/') index a(href='/about') about 

更新另外,你不需要在索引中再次重复这个。

 !!! 5 html head title= title 

除了Wes Freeman写的你还可以在你的玉文件中包含其他的玉模板。

这样你可以有你的header.jade,footer.jade,并把它们包含在你的about.jade文件中。 这里是来自jade的包含文档: https : //github.com/visionmedia/jade#a13

这样你只需要改变header.jade文件,如果你添加例如应该在每个页面上的脚本或样式表标签。

Interesting Posts