express-handlebars 新版本 (6.0.1) 问题

Issue with express-handlebars new version(6.0.1)

var express = require('express');
var hbs= require('express-handlebars')
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.engine('hbs', hbs({
    layoutsDir: `${__dirname}/views/layouts`,
    extname: `hbs`,
    defaultLayout: 'layout',
    partialsDir: `${__dirname}/views/partials`
}))

使用 express-handlebars 版本 (5.3.4) 没问题 但它不适用于新版本(6.0.1) 它显示 hbs 不是函数TypeError: hbs is not a function

根据 documentation,有一个新的 create 函数,您可以在其中传递 JSON 配置,然后使用 app.engine 函数定义 hbs.engine

示例:

const express = require("express");
const { create } = require("express-handlebars");
const app = express();

const hbs = create({
    layoutsDir: `${__dirname}/views/layouts`,
    extname: `hbs`,
    defaultLayout: 'layout',
    partialsDir: `${__dirname}/views/partials`
});

app.engine('hbs', hbs.engine);

// Continue code