【发布时间】:2012-06-14 09:11:48
【问题描述】:
创建一个普通的 vanilla express 应用程序后,我有这个默认的 app.js:
var express = require('express');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({ secret: 'your secret here' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', function(req, res) {
res.render('index', { title: 'Foo' }) // 34:7 is the .render
});
app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});
但是我不断得到这个堆栈跟踪:
500 SyntaxError: Unexpected identifier
...
at C:\Users\...\app.js:34:7
就在'/'路由的渲染方法之前
layout.jade 看起来像这样:
!!!
html(lang='de')
head
title= title
link(rel='stylesheet', href='/stylesheets/style.css')
link(rel='shortcut icon' type='image/png' href='/images/favicon.png')
script(src='/javascripts/jquery-1.7.1.min.js' type='text/javascript' charset='utf-8')
#header!= partial('header.jade')
body!= body
#footer!= partial('footer.jade')
index.jade 看起来像这样:
#body
#nav
a(href='/login') anmelden
我错过了什么?
【问题讨论】:
-
您的翡翠模板似乎有语法错误,您能把它粘贴到这里吗?
-
我在最初的问题中添加了 layout.jade 和 index.jade。我刚开始使用 node + express + jam,我已经喜欢这种设置的表现力和简洁性!
-
hmm 很奇怪,它看起来确实不错,除非在 header 或 footer.jade 中引用了未定义的变量