首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@types/hapi__hapi错误侦听器:泛型类型‘TS2314’需要1个类型参数

@types/hapi__hapi错误侦听器:泛型类型‘TS2314’需要1个类型参数
EN

Stack Overflow用户
提问于 2021-04-12 11:11:34
回答 1查看 408关注 0票数 0

hapi新手,在Typescript中使用版本"@hapi/hapi":"^20.1.2“。当我用纱线添加程序包" @types/hapi__hapi ":"^20.0.6时,@types/hapi__hapi与其依赖关系@types/hapi__podium之间存在类型不匹配。我得到以下错误:

代码语言:javascript
复制
node_modules/@types/hapi__hapi/index.d.ts:254:18 - error TS2430: Interface 'RequestEvents' incorrectly extends interface 'Podium'.
  Types of property 'on' are incompatible.
    Type '{ (criteria: "peek", listener: PeekListener): void; (criteria: "finish" | "disconnect", listener: (data: undefined) => void): void; }' is not assignable to type '<Tcontext extends object = this>(criteria: string | CriteriaObject, listener: Listener<Tcontext>, context?: Tcontext) => this'.
      Types of parameters 'listener' and 'listener' are incompatible.
        Types of parameters 'tags' and 'encoding' are incompatible.
          Type 'string' is not assignable to type '{ [tag: string]: true; }'.

254 export interface RequestEvents extends Podium {
                     ~~~~~~~~~~~~~

node_modules/@types/hapi__hapi/index.d.ts:514:32 - error TS2709: Cannot use namespace 'Boom' as a type.

514     response: ResponseObject | Boom;
                                   ~~~~

node_modules/@types/hapi__hapi/index.d.ts:627:18 - error TS2430: Interface 'ResponseEvents' incorrectly extends interface 'Podium'.
  Types of property 'on' are incompatible.
    Type '{ (criteria: "peek", listener: PeekListener): void; (criteria: "finish", listener: (data: undefined) => void): void; }' is not assignable to type '<Tcontext extends object = this>(criteria: string | CriteriaObject, listener: Listener<Tcontext>, context?: Tcontext) => this'.
      Types of parameters 'listener' and 'listener' are incompatible.
        Types of parameters 'tags' and 'encoding' are incompatible.
          Type 'string' is not assignable to type '{ [tag: string]: true; }'.

627 export interface ResponseEvents extends Podium {
                     ~~~~~~~~~~~~~~

node_modules/@types/hapi__hapi/index.d.ts:2357:43 - error TS2314: Generic type 'Listener' requires 1 type argument(s).

2357     removeListener(criteria: K, listener: Podium.Listener): this;
                                               ~~~~~~~~~~~~~~~

node_modules/@types/hapi__hapi/index.d.ts:2375:18 - error TS2430: Interface 'ServerEvents' incorrectly extends interface 'Podium'.
  The types returned by 'on(...)' are incompatible between these types.
    Type 'void' is not assignable to type 'this'.
      'this' could be instantiated with an arbitrary type which could be unrelated to 'void'.

2375 export interface ServerEvents extends Podium {
                      ~~~~~~~~~~~~

node_modules/@types/hapi__hapi/index.d.ts:2441:44 - error TS2314: Generic type 'Listener' requires 1 type argument(s).

2441     removeListener(name: string, listener: Podium.Listener): Podium;
                                                ~~~~~~~~~~~~~~~

node_modules/@types/hapi__hapi/index.d.ts:4057:18 - error TS2709: Cannot use namespace 'Boom' as a type.

4057         (Error | Boom) |
                      ~~~~

node_modules/@types/hapi__inert/node_modules/@types/hapi__hapi/index.d.ts:260:18 - error TS2430: Interface 'RequestEvents' incorrectly extends interface 'Podium'.
  Types of property 'on' are incompatible.
    Type '{ (criteria: "peek", listener: PeekListener): void; (criteria: "finish" | "disconnect", listener: (data: undefined) => void): void; }' is not assignable to type '<Tcontext extends object = this>(criteria: string | CriteriaObject, listener: Listener<Tcontext>, context?: Tcontext) => this'.
      Types of parameters 'listener' and 'listener' are incompatible.
        Types of parameters 'tags' and 'encoding' are incompatible.
          Type 'string' is not assignable to type '{ [tag: string]: true; }'.

260 export interface RequestEvents extends Podium {
                     ~~~~~~~~~~~~~

node_modules/@types/hapi__inert/node_modules/@types/hapi__hapi/index.d.ts:633:18 - error TS2430: Interface 'ResponseEvents' incorrectly extends interface 'Podium'.
  Types of property 'on' are incompatible.
    Type '{ (criteria: "peek", listener: PeekListener): void; (criteria: "finish", listener: (data: undefined) => void): void; }' is not assignable to type '<Tcontext extends object = this>(criteria: string | CriteriaObject, listener: Listener<Tcontext>, context?: Tcontext) => this'.
      Types of parameters 'listener' and 'listener' are incompatible.
        Types of parameters 'tags' and 'encoding' are incompatible.
          Type 'string' is not assignable to type '{ [tag: string]: true; }'.

633 export interface ResponseEvents extends Podium {
                     ~~~~~~~~~~~~~~

node_modules/@types/hapi__inert/node_modules/@types/hapi__hapi/index.d.ts:2365:43 - error TS2314: Generic type 'Listener' requires 1 type argument(s).

2365     removeListener(criteria: K, listener: Podium.Listener): this;
                                               ~~~~~~~~~~~~~~~

node_modules/@types/hapi__inert/node_modules/@types/hapi__hapi/index.d.ts:2383:18 - error TS2430: Interface 'ServerEvents' incorrectly extends interface 'Podium'.
  The types returned by 'on(...)' are incompatible between these types.
    Type 'void' is not assignable to type 'this'.
      'this' could be instantiated with an arbitrary type which could be unrelated to 'void'.

2383 export interface ServerEvents extends Podium {
                      ~~~~~~~~~~~~

node_modules/@types/hapi__inert/node_modules/@types/hapi__hapi/index.d.ts:2449:44 - error TS2314: Generic type 'Listener' requires 1 type argument(s).

2449     removeListener(name: string, listener: Podium.Listener): Podium;
                                                ~~~~~~~~~~~~~~~

新版本有什么问题吗??我如何解决这个问题/是否有版本回滚可以工作?

当前package.json文件:

代码语言:javascript
复制
...
  "dependencies": {
    "@hapi/hapi": "^20.1.2",
    "dotenv": "^8.2.0",
    "express": "^4.17.1",
    "nodemon": "^2.0.7",
    "ts-node-dev": "^1.1.6",
    "tslint": "^6.1.3",
    "typescript": "^4.2.4"
  },
  "devDependencies": {
    "@types/hapi__hapi": "^20.0.6"
  }
...
EN

回答 1

Stack Overflow用户

发布于 2021-04-14 07:43:32

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67052202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档