简体   繁体   English

车把模板引擎未定义

[英]Handlebars Templating Engine Not Defined

I am working through Web Development with Node & Express: Leveraging the JavaScript Stack , by Ethan Brown.我正在使用 Node & Express进行Web 开发:利用 JavaScript 堆栈,作者 Ethan Brown。 I am working in chapter three, which introduces basic concepts concerning Express.我正在研究第三章,它介绍了有关 Express 的基本概念。 I created the app, meadowlark.js , as the book has said, and I am getting this error concerning the Handlebars Templating Engine:正如书中所说,我创建了应用程序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

Here is the code for how I setup Handlebars and the rest of meadowlark.js :这是我如何设置 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.'); });

How can I fix my code to make Handlebars initialize correctly and make handlebars.js run?如何修复我的代码以使 Handlebars 正确初始化并使handlebars.js运行?

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

should be var handlebars .应该是var handlebars

Pro tip: Use a linter in your ide.专业提示:在您的 ide 中使用 linter。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM