【发布时间】:2013-02-23 18:13:24
【问题描述】:
我正在尝试使用 EJS 模板执行 node.js 的简单示例。无论我做什么,Node,或者更确切地说是 express 都无法使用 layout.ejs 呈现索引页面,如下面的代码。
这是 app.js
var express = require('express')
, routes = require('./routes')
, http = require('http');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 8001);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.set('view options', {layout: 'views/layout.ejs'});
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
layout.ejs
<!DOCTYPE html>
<html>
<head> <title><%= title %></title> </head>
<body> <%- body %> </body>
</html>
而在 index.ejs 中,就是这样
<p> Some Text </p>
我错过了什么吗?
【问题讨论】:
-
Express 3 中删除了布局,请参阅stackoverflow.com/questions/12616694/…
-
我的回答对你有帮助吗?
-
@JemiloII 那是很久以前的事了,我想我当时一定已经修好了。此外,我已经将 Node.js 的工作转移到其他方面,所以我真的不能接受你的回答。我希望你明白。谢谢。 :)
-
如果您有问题的解决方案,请在此处发布,否则,请删除问题。当您不寻求答案时留下未回答的问题是不好的。