模块 - 你如何引用 lib.d.ts 类型
在 Typescript 中,有没有办法引用 lib.d.ts 中的类型?我正在创建一个名为 File 的类,它使用 lib.d.ts 中的 File 类型。
文件.ts
module SomeModule {
export class File{
...
public foo(file:lib.ts.File) {
// do stuff
}
...
public bar(file:SomeModule.File){
// do some more stuff
}
}
}
类似的问题在一年前曾在 Codeplex 上被提出,但我无法得知自那以后是否有任何变化,或者是否存在一种解决方法(不涉及重命名 SomeModule.File)。
答案#1
自 TypeScript 1.4 起,你也可以使用类型别名:
type g_Event = Event;
module Lib {
export interface Event extends g_Event {
target: Element;
}
export function create(e: g_Event): Event{
//...
}
}
答案#2
自 TypeScript 3.4 起,你可以使用 globalThis 来访问这些类型:
module SomeModule {
export class File{
...
public foo(file: globalThis.File) {
// do stuff
}
...
public bar(file: File){
// do some more stuff
}
}
}
请参见 https://devblogs.microsoft.com/typescript/announcing-typescript-3-4/#type-checking-for-globalthis
