车把模板引擎未定义

时间:2016-02-09 02:43:40

标签: javascript node.js express handlebars.js

我正在使用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 运行?

1 个答案:

答案 0 :(得分:1)

错字var handlbars = require('express-handlebars').create({ defaultLayout: 'main' });

应为var handlebars

专业提示:在你的ide上使用linter。