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

Hapi.js v16.6.2启动报错:Invalid server options问题求助

解决Hapi v16.6.2中"host/port is not allowed"的服务器配置错误

嗨,我来帮你搞定这个问题!你遇到的报错核心原因是Hapi v16版本的服务器初始化语法和你写的不匹配——在v16里,host和port不能直接作为Server构造函数的顶层配置项,它们需要嵌套在connections属性里。

错误根源

你当前用的是Hapi v16.6.2,这个版本的框架要求网络连接相关参数(host、port)必须放在connections数组(或单个连接对象)中,而不是直接写在Server的根配置里。你现在的写法其实是Hapi v17+版本的语法,所以才会触发配置校验失败的错误。

修复后的代码

把你的服务器初始化代码改成下面这样,就能正常启动了:

const Hapi = require('hapi');
const server = new Hapi.Server({
  connections: [
    {
      host: 'localhost',
      port: 8080
    }
  ]
});

server.route({
  path: '/',
  method: 'GET',
  handler: (request, response) => {
    response(true);
  },
});

server.start(() => {
  console.log('Server running at:', server.info.uri);
});

如果你只需要单个连接,也可以用更简洁的写法:

const server = new Hapi.Server();
server.connection({ host: 'localhost', port: 8080 });

额外补充

要是之后你计划升级到Hapi v17或更高版本,那你最初的写法(直接在Server构造函数里放host和port)是完全正确的——因为v17对框架API做了彻底重构,简化了服务器配置的结构。但就当前你使用的v16.6.2版本来说,必须遵循connections的配置规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:35:47