Typescript 在project.d.ts定义文件中使用@types定义

Typescript 在project.d.ts定义文件中使用@types定义,typescript,types,node-modules,Typescript,Types,Node Modules,我正试图为我的项目编写一个.d.ts文件来定义一些全局接口。 但是,我在该定义文件中使用非全局库类型时遇到问题。 尤其是我试图引用的RxJs对我来说不起作用 我认为最有效的方法是使用一个三斜杠引用标记来导入RxJs的类型,但是这不起作用 /// <reference types="rxjs" /> interface IUserService { user$: rxjs.Observable<IUser>; } // 接口服务{ 用户$:rxjs.Observ

我正试图为我的项目编写一个.d.ts文件来定义一些全局接口。 但是,我在该定义文件中使用非全局库类型时遇到问题。 尤其是我试图引用的RxJs对我来说不起作用

我认为最有效的方法是使用一个三斜杠引用标记来导入RxJs的类型,但是这不起作用

/// <reference types="rxjs" />

interface IUserService {
    user$: rxjs.Observable<IUser>;
}
//
接口服务{
用户$:rxjs.Observable;
}

我找到了我想做的事情的解决方案:

import RxJs from 'rxjs';

declare global {

    interface IUserService {
        user$: RxJs.Observable<IUser>;
    }

}
从“RxJs”导入RxJs;
宣布全球{
接口服务{
用户$:RxJs.Observable;
}
}
使用
declare global{}
我能够回到全局名称空间。 Typescript确实缺少有关此有用指令的文档,此指令仅在本页末尾有少量文档: