链接到其他玉文件

hol*_*ard 13 hyperlink node.js express pug

我正在努力了解Express和Jade的工作原理.

首先,当我使用layout.jade作为模板文件(标题,正文,页脚)并使用不同的文件在正文中显示信息时(参见下面的示例),我是否正确行事?

代码工作正常,但我不确定这是否是在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
Run Code Online (Sandbox Code Playgroud)

index.jade:

!!! 5
html
  head
    title= title

    section#wrapper
      img.imageStyle(src = '/images/test1.png')
      // And so on...
Run Code Online (Sandbox Code Playgroud)

About.jade:

// You get it...
Run Code Online (Sandbox Code Playgroud)

Eve*_*man 14

我认为您正在寻找的是快递中的视图渲染路线: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' });
});
Run Code Online (Sandbox Code Playgroud)

要从一个链接到另一个,一旦配置了正确的路由,您可以执行以下操作:

a(href='/') index

a(href='/about') about
Run Code Online (Sandbox Code Playgroud)

更新此外,您不需要在索引中重复此操作.

!!! 5
html
  head
    title= title
Run Code Online (Sandbox Code Playgroud)