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

升级Node.js与Hapi应用时遇Joi.strict is not a function错误求助

问题解决:TypeError: Joi.strict is not a function

错误原因

升级Node.js(v18.17.1)和Hapi后出现该错误,核心原因是Joi版本更新后API变更:Joi v17及以上版本移除了全局的Joi.strict()方法,原有的调用方式不再兼容。

解决方案

  • 修改Joi调用代码:
    把原来的全局Joi.strict()调用,改为在Schema对象上链式调用.strict():
    // 旧写法(报错)
    const schema = Joi.strict().object({
      // 字段定义
    });
    
    // 新写法
    const schema = Joi.object({
      // 字段定义
    }).strict();
    
    或者在验证时通过传入选项开启严格模式:
    const result = schema.validate(data, { strict: true });
    
  • 校验依赖版本兼容性:
    确保@hapi/hapi与@hapi/joi版本匹配,比如@hapi/hapi v20+需搭配@hapi/joi v17+,避免版本不兼容导致的API不匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:29:54