如何为 ExpressJS 呈现的布局配置路径
Posted
技术标签:
【中文标题】如何为 ExpressJS 呈现的布局配置路径【英文标题】:How to configure paths for the layout to be rendered by ExpressJS 【发布时间】:2011-11-12 04:58:48 【问题描述】:以下是 config/routes.js 文件中的代码
module.exports = function(app)
app.get('/', function(req, res)
res.render('login/login.jade',
layout : 'layouts/login.jade',
title : 'Express'
);
);
;
基本上我正在尝试在views/layouts/login.jade 中呈现views/login/login.jade。
但是 express.js 寻找布局文件的路径是相对于views/login 以下是我得到的错误。
**failed to locate view "layouts/login.jade", tried:
- ../msf_showcase_exp/views/login/layouts/login.jade
- ../msf_showcase_exp/views/login/../msf_showcase_exp/views/layouts/login.jade**
是在 Express.js 中指定搜索视图/布局中的布局。 ?
【问题讨论】:
【参考方案1】:这应该可以。刚试了一下(node 0.4.11,express 2.4.6,jade 0.15.4)
文件夹看起来像这样
jadetest
|
-- app.js
|
-- package.json
|
-- public
|
-- route
| |
| -- router.js
|
-- views
|
-- index
| |
| -- index.jade
|
-- layouts
|
-- layout.jade
在 app.js 中:
var express = require('express');
var app = module.exports = express.createServer();
var router = require('./route/router')(app);
在 router.js 中
module.exports = function(app)
app.get('/', function(req, res)
res.render('index/index',
title: 'Express',
layout: 'layouts/layout'
);
);
;
【讨论】:
以上是关于如何为 ExpressJS 呈现的布局配置路径的主要内容,如果未能解决你的问题,请参考以下文章
导轨/Friendly_id。如何为旧的(丑陋的)URL 呈现 404 页面
如何为 tomcat-maven-plugin 配置额外的上下文路径?
如何为特定值 ex.w[i] == n[i] 设置递归 lapply?