将所有RxJS操作符重新导出为单个类成员



这是来自开源项目Thingsboard的代码片段。

import { forkJoin, of } from 'rxjs';
...
import { catchError, map, mergeMap, switchMap } from 'rxjs/operators';
...
export class WidgetContext {
...
rxjs = {
forkJoin,
of,
map,
mergeMap,
switchMap,
catchError
};
...
}

代码的目标是为开发人员提供从自定义小部件代码调用列出的RxJS操作符的方法。

self.ctx.rxjs.switchMap(...);

我的问题:
是否有可能重新导出所有可用的RxJS操作符而不手动列出它们?

感谢@MikeOne,我得到了最终的解决方案:

import * as RxJS from 'rxjs';
import * as RxJSOperators from 'rxjs/operators';
...
rxjs = {
...RxJS,
...RxJSOperators
};

缺点

:厂商包大小从2.76 MB增加到2.80 MB

最新更新