【问题标题】:How to extend Hapi types [Typescript]如何扩展 Hapi 类型 [Typescript]
【发布时间】:2018-01-03 04:08:13
【问题描述】:

我正在尝试向现有 hapi 定义添加新类型... 我想添加 seneca 类型...这里是示例

interface SenecaMethods {
    act: any;
    add: any;
}

interface HapiServer extends Hapi.Server {
    info: any;
    seneca: SenecaMethods;
}

const server: HapiServer = new Hapi.Server();

它返回的错误服务器不可分配给 HapiServer,属性 类型服务器中缺少“seneca”。

如何将 seneca 方法添加到 Hapi.Server?我可以将 seneca 设为可选,但我不希望它是可选的....

【问题讨论】:

标签: typescript hapi.js


【解决方案1】:

你有几个选择:

演员:

const server: HapiServer = new Hapi.Server() as HapiServer;

//server.seneca === undefined

联合

const server: HapiServer = Object.assign(new Hapi.Server(),
    { seneca: { act: "foo", add: "bar" } }
  )

扩展

class MyHapiServer extends Hapi.Server {
  info: any;
  seneca: SenecaMethods;

  constructor(){
    super();
    this.seneca = {
      act:"foo", 
      add:"bar",
    }
  }
}

const server: MyHapiServer = new MyHapiServer();

【讨论】:

    猜你喜欢
    • 2021-03-25
    • 2021-05-03
    • 2022-01-22
    • 1970-01-01
    • 2016-08-02
    • 2020-09-12
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多