【问题标题】:layout.ejs not rendered - Node.js, Expresslayout.ejs 未呈现 - Node.js, Express
【发布时间】: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 的工作转移到其他方面,所以我真的不能接受你的回答。我希望你明白。谢谢。 :)
  • 如果您有问题的解决方案,请在此处发布,否则,请删除问题。当您不寻求答案时留下未回答的问题是不好的。

标签: node.js express ejs


【解决方案1】:
app.set('view options', { layout:'layout.ejs' });

删除视图/它应该可以工作。

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多