我正在尝试使用 express 并呈现 layout.jade 我的目录树非常标准。
├── apps
│ └── fridge_face
│ ├── routes.coffee
│ └── views
| └── index.jade
├── server.js
└── views
├── layout.jade
└── stylesheets
└── style.styl
在我的 routes.coffee 中,当我渲染 index.jade 时,一切都很好,但没有渲染布局。我曾尝试将布局移入apps/fridge_face/views/
,但没有成功。
我没有做布局配置。
这是我的
布局.jade
doctype 5
html
head
title 'What is up'
link(rel='stylesheet', href='/stylesheets/style.css')
body
!= body
路线.咖啡
routes = (app) ->
app.get '/', (req, res) ->
Word.once 'wordsFetched', (params) ->
res.render "#{__dirname}/views/index",
layout: true
words: params.map (word) -> word.word
Word.getWords()
module.exports = routes
server.js 配置
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express['static'](__dirname + '/public'));
});
如您所见,没有任何东西可以或会使布局无法呈现...我做错了什么我如何快速找到我的布局
编辑
我知道我让这个问题变得超长,但增加了一些进展。第一的
当我!=
从两个目录的布局中删除时,没有任何变化。我的视图仍然是免费的。
当我添加
app.set('view options', {
layout: false
});
然后在我的视图中显式呈现我的布局
layout: "#{__dirname}/views/layout"
# OR
layout: "layout"
# OR
layout: true
什么都没有发生,视图被渲染为免费布局......