javascript - 关于Rxjs的基本问题

标签 javascript angular npm rxjs rxjs5

我正在使用 angular2 开发一个小型应用程序,并且安装了 Rxjs 5。 每个教程都有不同的方法来导入 Rxjs 库。 要导入的代码 angular2 web不管用;我的意思是 Websotrm 无法识别 Observable 或其任何功能(来自、订阅等)。

  1. 我需要做什么来解决这个问题?
  2. 如果我从 Rxjs 导入所有内容,网站的加载速度会变慢吗? (我不会超过 2 节课)
  3. (Webstorm 问题)如何让 webstorm 在不按 alt+space 的情况下自动补全函数名称

最佳答案

最新的 RXJS 发行版提供了分解的模块来减轻巨大的文件大小,就像 Lodash 一样。导入 rxjs/Rx (正如另一个答案所建议的那样)将为您提供整个库,但不建议这样做。

相反,单独导入方法和运算符:

  • 对于核心类,从其作用域模块导入该类:import { Observable } from 'rxjs/Observable'
  • 对于实例方法,请使用“add”范围中的实例范围:import 'rxjs/add/observable/fromEvent'(注意,没有要导入的解构对象 - 该方法会自动添加通过进口)
  • 对于运算符,从 add/operator 范围导入:import 'rxjs/add/operator/switchMap'

导入操作符一次即可使其可供所有实例使用,因此建议将您使用的所有部分收集在一个文件中,并在需要的地方导入该文件,即通过重新导出您使用的实例。

import { Observable } from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/flatMap';
import 'rxjs/add/operator/switchMap';

export { Observable, BehaviorSubject };

关于javascript - 关于Rxjs的基本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38386832/

相关文章:

javascript - 然后返回 Promise 内的 Promise 链

javascript - 避免在 angularjs 指令中引用父范围

node.js - PhantomJS:即使全局版本相同,NPM 也会在本地安装

node.js - https ://npmcdn. com/ng2-img-cropper/index.js 网站上没有 'Access-Control-Allow-Origin' header

javascript - 调整窗口大小后,检测到的百分比宽度 div 的高度仍然相同? jQuery

javascript - 谷歌分析报告会中毒吗?

angular - 动态更改 Angular 12 中垫子对话框的宽度/高度

angular - 可以为 Angular Material 表指定行标题吗?

angular - 缺少 *.ts 文件(由于 `npm link`?)

google-chrome - Cypress Chrome chrome-error ://chromewebdata/错误