【发布时间】:2018-07-20 05:09:51
【问题描述】:
我正在使用带有 typescript 的 AngularJS,但我没有模块加载器,所以我不能使用导入,也不能使用默认的 Rxjs 类型。我使用的所有其他类型都是全局的,不需要导入(例如角度)。您能否建议如何在不需要使用模块、导入和导出的情况下将 rxjs 与 typescript 一起使用? 有@types/rx,但是是版本4,和rxjs版本5不兼容。
【问题讨论】:
标签: typescript rxjs
我正在使用带有 typescript 的 AngularJS,但我没有模块加载器,所以我不能使用导入,也不能使用默认的 Rxjs 类型。我使用的所有其他类型都是全局的,不需要导入(例如角度)。您能否建议如何在不需要使用模块、导入和导出的情况下将 rxjs 与 typescript 一起使用? 有@types/rx,但是是版本4,和rxjs版本5不兼容。
【问题讨论】:
标签: typescript rxjs
对于那些可能有同样问题的人,我自己想出了一个解决方案。 我添加了一个单独的 d.ts 文件,这样我就可以导入 Rx 定义,然后将它们导出为全局命名空间:
import * as Rx from 'rxjs/Rx';
export as namespace Rx;
declare class Observable<T> extends Rx.Observable<T> {
}
interface Observer<T> extends Rx.Observer<T> {
}
然后我可以从任何地方调用Rx.Observable,而无需任何导入。
【讨论】: