When using express-handlebars module,there encounter an error that saying,
app.engine('handlebars', expressHandlebars({
^
TypeError: expressHandlebars is not a function
My code is as follows
const express = require('express')
const expressHandlebars = require('express-handlebars')
const app = express()
// configure Handlebars view engine
app.engine('handlebars', expressHandlebars({
defaultLayout: 'main',
}))
app.set('view engine', 'handlebars')
..........
I can't find any mistake in here because above code snippet is purely from book that I refer. But it doesn't seem to work.
I will be grateful if someone can to tell that is this because version different of express-handlebars between me and the book I refer or, Is there any mistake in the code.
You should require the express handlebars engine instead of the whole expressHandlebars package.
Change:
const expressHandlebars = require('express-handlebars')
To:
const expressHandlebars = require('express-handlebars').engine;