我正在使用Node&amp ;;进行 Web开发。 Express:利用Ethan Brown的JavaScript Stack 。我在第三章工作,介绍了有关Express的基本概念。正如本书所说,我创建了应用程序 meadowlark.js ,我收到了关于Handlebars模板引擎的错误:
ReferenceError: handlebars is not defined
at Object.<anonymous> (/PROJECT_STORAGE/site/meadowlark.js:7:26)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
以下是我如何设置Handlebars和其他 meadowlark.js 的代码:
var express = require('express');
var app = express();
// setup handlebars view engine
var handlbars = require('express-handlebars').create({ defaultLayout: 'main' });
app.engine('handlebars', handlebars.engine);
app.set('view engine', 'handlebars');
app.set('views', __dirname + '/views');
app.set('port', process.env.PORT || 3000);
app.get('/', function(req, res) {
res.render('home');
});
app.get('/about', function(req, res) {
res.type('about');
});
// custom 404 pg
app.use(function(req, res) {
res.status(404);
res.render('404');
});
// custom 500 pg
app.use(function(err, req, res, next) {
//console.error(err.stack);
res.status(500);
res.render('500');
});
app.listen(app.get('port'), function() {
console.log('Express started on localhost:' + app.get('port') + '; press Ctrl-C to terminate.');
});
如何修复代码以使Handlebars正确初始化并使 handlebars.js 运行?
答案 0 :(得分:1)
错字var handlbars = require('express-handlebars').create({ defaultLayout: 'main' });
应为var handlebars
。
专业提示:在你的ide上使用linter。