You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用express-handlebars时报错TypeError: exphbs is not a function如何解决

报错原因

该报错由express-handlebars版本兼容问题导致:你当前安装的是6.0及以上的高版本,该版本调整了模块导出规则,不再默认暴露可直接调用的引擎函数,原核心方法现在挂载在engine属性下。

解决方案

方案1:适配高版本语法(推荐)

调整代码写法,两种写法二选一即可:

  1. 解构导入engine方法:
const { engine } = require('express-handlebars');

app.engine('.hbs', engine({ extname: '.hbs', defaultLayout: "main"}));
app.set('view engine', '.hbs');
  1. 保留原有变量名,调用engine属性:
var exphbs = require('express-handlebars');

app.engine('.hbs', exphbs.engine({ extname: '.hbs', defaultLayout: "main"}));
app.set('view engine', '.hbs');

方案2:降级到兼容旧语法的版本

如果不想修改现有代码,可以卸载当前版本后安装v5.x稳定版:

npm uninstall express-handlebars
npm install express-handlebars@5.3.5

降级完成后原有代码可以直接正常运行。

内容的提问来源于stack exchange,提问作者Adidi24

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:24:03