反求工程https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/hapi-auth-bearer-token/index.d.ts,不能计算出下面的一行。
declare var BearerToken: Plugin<{}>;发布于 2019-09-19 14:04:38
Plugin<{}>意味着Plugin是一个具有单个类型参数的属型,在本例中是{}。
{}是空对象文字类型(如{ someProperty: SomeType },但没有定义属性)。不过,它与object不一样:
const message: {} = 'hello world';编译(我不知道为什么),但是
const message: object = 'hello world';不会的。
(我也不知何故在TypeScript手册中找不到这种类型的文档,但它们在示例中使用,例如let { a, b }: { a: string, b: number } = o;或type Alias = { num: number }。)
编辑:const message: { length: number } = 'hello world';编译(这很有意义),{ length: number }是{}的一个子类型。
发布于 2019-09-19 13:52:09
这意味着BearerToken变量是插件类型的,它包含内部的对象。
let fruits: Array<string> = ['Apple', 'Orange', 'Banana'];
发布于 2019-09-19 14:42:27
通常,Plugin可以是泛型类、泛型接口,也可以是只接受对象的数组。在代码中,Plugin根据导入语句来自Hapi
import {
Request,
Plugin,
ResponseToolkit,
AuthenticationData,
} from 'hapi';我快速搜索了一下,找到了hapi插件的文档。我希望这能帮到你
https://stackoverflow.com/questions/58012497
复制相似问题