我正在尝试为我的项目编写一个 .d.ts 文件来定义一些全局接口。
但是,我在该定义文件中使用非全局库类型时遇到问题。
特别是我试图引用的 RxJs 对我来说不起作用。
我认为最有效的方法是使用三斜杠引用标签来导入 RxJ 的类型,但这不起作用。
/// <reference types="rxjs" />
interface IUserService {
user$: rxjs.Observable<IUser>;
}
我找到了我想做的事情的解决方案:
import RxJs from 'rxjs';
declare global {
interface IUserService {
user$: RxJs.Observable<IUser>;
}
}
Using declare global { }
我能够回到全局名称空间。
Typescript 确实缺乏关于这个有用指令的文档,该指令仅在本页末尾有少量记录:https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation https://www.typescriptlang.org/docs/handbook/declaration-merging.html#global-augmentation.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)