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

首次使用Hapi搭建后端:请求触发服务崩溃问题排查

问题解决:Hapi服务请求后崩溃报错Cannot read properties of null (reading 'statusCode')

这个错误是Hapi内部处理响应时的兼容性问题,结合你的Node.js版本和运行方式,以下是针对性的解决方法:

方案1:降级Hapi版本适配Node.js 16

Hapi v21及以上版本要求Node.js 18+,而你使用的是Node.js 16.17.0,版本不匹配导致内部逻辑异常。执行命令降级到兼容版本:

npm install @hapi/hapi@20 --save

重新启动服务后测试请求,问题大概率会解决。

方案2:移除babel-node,直接用Node.js原生ES模块支持

Node.js 16已经原生支持ES模块,无需babel转译,这是最直接的解决方式:

  1. 在项目根目录的package.json中添加配置:
"type": "module"
  1. 直接用原生Node命令启动服务:
node src/server.js

方案3:调整Babel配置(若必须使用babel-node)

如果你有必须用babel-node的场景,需确保Babel配置完全适配Node.js 16:

  1. 安装必要依赖:
npm install @babel/core @babel/node @babel/preset-env --save-dev
  1. 项目根目录创建.babelrc文件:
{
  "presets": [
    ["@babel/preset-env", {
      "targets": {
        "node": "16.17.0"
      }
    }]
  ]
}
  1. 重新用npx babel-node src/server.js启动服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:35:27