1

目前所有页面都是从一个views/layout.mustache文件和一个特定于页面的 views/page.mustache模板呈现的

在我的应用程序中呈现某个视图时,我想使用替代layout.mustache和/或一起跳过所有视图。layout.mustache这样做的理想方法是什么?

这是我的一个片段app.configure

app.configure(function(){
    ...
    app.set('views', __dirname + '/views');
    app.register(".mustache", require('stache'));
    ...
});

谢谢

4

1 回答 1

1

你用的是哪个版本的快递?在 v3.0 中,布局的概念被删除

V3.0 引入了的概念。我不使用mustache,但玉的示例如下所示:

// my-template.jade
extends my-layout

block head
  script(src="myfile.js")

block content
  h1 My page

// my-layout.jade
doctype 5
html
  head
    title My title
    block head
  body
    #content
      block content

extends您可以选择您想要的任何“父”布局。支持模板引擎的概述在 express wiki中。

在 3.0 之前的 express 版本中,您可以在渲染时指定布局

res.render('index', {
  title : 'Page with distinct layout', 
  layout : 'layout.mustache'
});

或禁用某些视图的布局

res.render('start', {
  title : 'Page without layout', 
  layout : false
});
于 2012-10-24T10:49:31.000 回答