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

使用ejs@3.0.2时出现include is not a function错误如何解决?

EJS v3.0.2 版本 include is not a function 错误解决方案

错误根因

该报错由EJS 3.x版本的语法不兼容导致,EJS从3.0版本开始正式废弃了原有的include()函数调用式语法,原有写法无法在3.x版本中正常运行。

解决方案

  • 方案一:调整模板include语法适配3.x版本
    将原有函数调用形式改为空格分隔的路径形式即可:
    原有错误写法示例:
    <%- include('includes/header.ejs'); %>
    <%- include('includes/navbar.ejs'); %>
    
    适配后的正确写法:
    <%- include includes/header.ejs %>
    <%- include includes/navbar.ejs %>
    
    若需传递参数给子模板,在路径后追加逗号和参数对象即可:
    <%- include includes/header.ejs, {pageTitle: '站点首页', userInfo: currentUser} %>
    
  • 方案二:降级EJS到2.x稳定版,无需修改现有模板代码
    直接执行依赖安装命令覆盖现有版本即可:
    npm install ejs@2.7.4 --save
    
  • 方案三:排查参数命名冲突
    若调用res.render传递模板参数时,自定义了名为include的字段,会覆盖EJS内置的include语法触发报错,修改该自定义字段的名称即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:39:03