Javascript 在angular 2组件中仅从rxjs导入所需的功能

Javascript 在angular 2组件中仅从rxjs导入所需的功能,javascript,angular,typescript,rxjs,Javascript,Angular,Typescript,Rxjs,我正在使用angular cli启动angular 2项目。我需要第一次加载超快速。这就是为什么要尝试减少所有捆绑包的大小 让我头疼的是rxjs库,因为它显著增加了包的大小。我正在寻找输入树摇动的工作,进一步减少块大小的骗术。我使用了vscode的导入建议,它们在编码时工作,但在构建cli时显示出不解析这些路径的错误 这行不通 import { of } from 'rxjs/observable/of'; 我不得不求助于 import { Observable } from 'rxjs/Rx

我正在使用angular cli启动angular 2项目。我需要第一次加载超快速。这就是为什么要尝试减少所有捆绑包的大小

让我头疼的是rxjs库,因为它显著增加了包的大小。我正在寻找输入树摇动的工作,进一步减少块大小的骗术。我使用了vscode的导入建议,它们在编码时工作,但在构建cli时显示出不解析这些路径的错误

这行不通

import { of } from 'rxjs/observable/of';
我不得不求助于

import { Observable } from 'rxjs/Rx';

是否有其他方法可以导入特定的运算符。

根据您使用的RxJs版本,有两种方法

对于较旧的版本(<6),您需要添加所有运算符,例如:

import 'rxjs/add/observable/of'
以及从

import { Observable } from 'rxjs/Observable';
从rxjs/Rx导入实际上会获取整个库,因此它对您不起作用。此外,由于旧的导入方法将修补可观察原型,因此只需导入一次操作符。通常情况下,每个应用程序都会将它们分组到一个单独的文件中,并且只在需要它们的地方导入可观察到的内容

在新的RxJs中,从6.0版开始,导入的工作方式进行了重构,特别是为了更容易的树抖动,因此可以简单地导入所有内容,如:

import { Observable } from 'rxjs';
import { map, filter, switchMap } from 'rxjs/operators';

根据您使用的RxJs版本的不同,有两种方法可以做到这一点

对于较旧的版本(<6),您需要添加所有运算符,例如:

import 'rxjs/add/observable/of'
以及从

import { Observable } from 'rxjs/Observable';
从rxjs/Rx导入实际上会获取整个库,因此它对您不起作用。此外,由于旧的导入方法将修补可观察原型,因此只需导入一次操作符。通常情况下,每个应用程序都会将它们分组到一个单独的文件中,并且只在需要它们的地方导入可观察到的内容

在新的RxJs中,从6.0版开始,导入的工作方式进行了重构,特别是为了更容易的树抖动,因此可以简单地导入所有内容,如:

import { Observable } from 'rxjs';
import { map, filter, switchMap } from 'rxjs/operators';

导入“rxjs/add/observable/of”;导入“rxjs/add/observable/of”;