简体   繁体   中英

Handlebars Templating Engine Not Defined

I am working through Web Development with Node & Express: Leveraging the JavaScript Stack , by Ethan Brown. I am working in chapter three, which introduces basic concepts concerning Express. I created the app, meadowlark.js , as the book has said, and I am getting this error concerning the Handlebars Templating Engine:

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 :

 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?

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

should be var handlebars .

Pro tip: Use a linter in your ide.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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