rxjs和WebStorm

tsc*_*ege 3 rxjs webstorm angular

将我的Angular项目升级到版本5.2.8后,我的WebStorm IDE(2017.3.5)不再识别rxjs运算符(rxjs@5.5.6).它抱怨unresolved function or method.使用angular cli的编译(typescript@2.6.2)仍然有效.

在以下示例中,它适用于运营商 do

Observable.from([1,2])
     .do((i: number) =>  {
        console.log(i);
     })
Run Code Online (Sandbox Code Playgroud)

如果我import 'rxjs/add/operator/do';在同一个文件或中心位置导入do运算符并不重要.

知道如何配置WebStorm来解决这个问题吗?

Ser*_*y K 7

从RxJS 5.5开始,他们引入了可管理的运算符,并且作为其中一部分,他们切换dotap(以免与保留的JavaScript关键字冲突).

要更新代码,请先更改导入:

import { Observable } from 'rxjs/Observable';
import { tap } from 'rxjs/operators';
Run Code Online (Sandbox Code Playgroud)

然后将您的代码更改为:

Observable.from([1,2]).pipe(
  tap((i: number) =>  {
    console.log(i);
  })
);
Run Code Online (Sandbox Code Playgroud)