在角度2组件中使用rxjs,我应该手动导入运算符吗?

Lay*_*lez 3 rxjs angular

http的文档有这个例子:

import {Http, HTTP_PROVIDERS} from 'angular2/http';

@Component({
  selector: 'http-app',
  viewProviders: [HTTP_PROVIDERS],
  templateUrl: 'people.html'
})

class PeopleComponent {
  constructor(http: Http) {
    http.get('people.son')]
        .map(res => res.json())
        .subscribe(people => this.people = people);
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要添加这一行:import 'rxjs/add/operator/map使它工作.

我的配置是否不同或示例中缺少导入?

Mar*_*cok 6

服务器通信开发指南讨论/提到/解释这一点:

RxJS库非常大.在构建生产应用程序并将其部署到移动设备时,大小很重要.我们应该只包括我们实际需要的那些功能.

因此,角暴露了一个精简版Observable的的rxjs/Observable模块,缺乏几乎所有的运营商,包括我们想在这里用如的那些版本的map方法...

由我们来添加我们需要的运算符.我们可以逐个添加每个运算符,直到我们根据我们的要求调整了自定义Observable实现.

例如,如您所述,明确添加地图:

import 'rxjs/add/operator/map';
Run Code Online (Sandbox Code Playgroud)

或者,如果我们懒惰,我们可以拉入整套运算符:

import 'rxjs/Rx';
Run Code Online (Sandbox Code Playgroud)