var express = require(‘express’);
var app= express();
//设置handlebars视图引擎 var handlebars = require(‘express3-handlebars’) handlebars.create({defaultLayout:‘main’}); app.engine(‘handlebars’,handlebars.engine); app.set(‘view engine’,‘handlebars’);
app.set(‘port’,process.env.PORT||3000); app.use(express.static(__dirname + ‘/public’));
app.get(’/’,function(req,res){ res.render(‘home’); });
app.get(’/about’,function(req,res){ res.render(‘about’); })
//404 page catch-all处理器(中间件) app.use(function(req,res){ res.status(404); res.render(‘404’); });
//500 page 错误处理器中间件 app.use(function(err,req,res,next){ console.log(err.stack); //express的res.set和res.status()方法替换node的res.writeHead()方法 res.status(500); res.render(‘500’); });
app.listen(app.get(‘port’),function(){ console.log(‘express start on http://localhost:’ + app.get(‘port’) + ‘;press Ctrl-C to terminate’); });
这里抛出不能请求回调是什么意思?请问怎么解决?谢谢
可以根据异常栈, 自己去看express的代码啊express\lib\application.js:294
.
是app.engine()
调用失败了.
对你的代码, 如果只改一行, 就是handlebars.create({defaultLayout:‘main’});
改为handlebars = handlebars.create({defaultLayout:‘main’});
@kiliwak 谢谢