2

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?

1 Answer 1

3

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

should be var handlebars.

Pro tip: Use a linter in your ide.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.