node.js - 向我的 Jade 模板添加页脚时超出了最大调用堆栈大小

标签 node.js express pug

好吧,这有点奇怪,但情况是这样的。

我正在玩 Express 和 Jade 诱惑系统。

我有一个相当简单的 layout.jade 文件:

doctype 5
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    h1 Nav goes here!
  body
    block content

和一个 home.jade 文件:

扩展布局

block content
  h1= title
  p Welcome to #{title}

以上组合效果很好。

但是,我想添加页脚,所以我创建了一个 foot.jade 文件:

extends layout

block foot
  h1= me

并将 include foot 添加到我的 layout.jade 文件中。

现在,如果我尝试访问应用程序的主页,我会收到超出最大调用堆栈大小错误:/

我的 app.js 文件是:

/**
 * Module dependencies.
 */

var express = require('express')
  , home = require('./routes/home')
  , http = require('http')
  , path = require('path');

var app = express();

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.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser('your secret here'));
  app.use(express.session());
  app.use(app.router);
  app.use(require('stylus').middleware(__dirname + '/public'));
  app.use(express.static(path.join(__dirname, 'public')));
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', function(req, res) {
  res.render('home', {title: 'Ninja Store'});
});

http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});

最佳答案

foot.jade 使用 extendslayout,它加载 layout.jade,其中包含 foot.jade,它使用 extendslayout,它加载 layout.jade,...

换句话说:从 foot.jade 中删除 extends layout ;)

关于node.js - 向我的 Jade 模板添加页脚时超出了最大调用堆栈大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15456513/

相关文章:

node.js - Node + Express + EJS 字符编码问题(UTF-8 与 Shift_JIS)

javascript - SequelizeJS 传递值数组

angularjs - 无法直接导航到 URL Angular UI 路由器

Node.js Express + Jade(内衬项目上的事件类)

javascript - Node.js 每次使用 multer 和 Shortid 上传的唯一文件夹

node.js - 如何让 Heroku Node.js 实例无限期运行?

node.js - 使用 Sinon 对 Mongoose 模型进行 Stub

node.js - Windows 版 Node.js 和 Mac OS 版 Node.js 之间的主要区别?

javascript - Node.js express 验证器验证 req.body 不为空

node.js - Node JS 将变量传递给 Jade/Pug