2016-03-25 32 views
3

我刚刚通过npm i [email protected]安装了rxjs 5 beta 3。使用TS-节点例如当IntelliJ IDEA在rxjs5中找不到可观察的运营商

import {Observable} from "rxjs" 

new Observable(o => o.next(42)).filter(() => true); 

此代码编译非常清楚:

我有以下示例代码。

但是,在IntelliJ IDEA中查看此代码时,找不到filter()运算符。

在Observable实例上使用运算符时,也找不到它们。的Observable

建议的静态成员是:

  • create()
  • if()
  • throw()

所建议的Observable实例的成员是:

  • _isScalar()
  • forEach()
  • lift()
  • subscribe()

我也试过只导入我需要什么,但是我的IDE告诉我,filter()没有可观测实例中存在:

import {Observable} from "rxjs/Observable" 
import "rxjs/add/operator/filter" 

new Observable(o => o.next(42)).filter(() => true); 

任何建议如何使IntelliJ IDEA了解操作员?

回答

4

请检查IDEA 2016.1.2 or higher

:目录node_modules必须不排除从项目。
否则,请参阅回答https://stackoverflow.com/a/38499577/1057218

注2:文件package.json必须包含直接依赖(或者devdependency) 'rxjs'

+1

工作,我刚刚下载的新的IntelliJ IDEA 2016.1 145.596.7版本,但问题仍然存在。 – svi3c

+1

@ user558398所以请按照这个问题https://youtrack.jetbrains.com/issue/WEB-20992 – anstarovoyt

+1

同样在这里,即使认为这个答案被标记为接受它并不能解决问题。在从'rxjs/Rx'导入{import {Observable};' – Pylinux

2

接受的答案是行不通的。我已测试IntelliJ IDEA 2016.2.1 EAPideaIU-162.1447.7),问题仍然存在。

兔子洞去如下:

  1. 在你找到一个链接到2016.1版本接受的答案,但这并不解决问题。
  2. 然后,您看到一个link到IntelliJ错误跟踪器的评论,其中OP有第一个/最热评论。
  3. 在该问题的底部,您会发现一条评论saying IDEA 2016.2 162.426.1 EAP将明确解决问题,但事实并非如此。

底线,如果你输入的所有的东西RxJS的魅力。import {Observable} from 'rxjs/Rx';的IntelliJ仍然会抱怨它不能找到像.map.filter

+0

你能试试IDEA 2016.2发布版吗? – anstarovoyt

+0

正如我在第一行中指出的那样,我在版本**中尝试了这一点** IntelliJ IDEA 2016.2.1 EAP ** – Pylinux

+0

是,2016.2.1 EAP是一个eap版本。我的意思是稳定的2016.2版本 – anstarovoyt

6

的方法来解决这个问题,您需要RxJS添加为一个JavaScript库中的IntelliJ:

  1. 转到设置 - >语言和框架 - >的JavaScript - >
  2. 点击添加...
  3. 点击+按钮
  4. 点击所有OK按钮,直到你回来在编辑器中添加node_modules/rxjs

该解决方案进行测试,以对IDEA 2016年1月3日

+0

排除在外,但在IDEA Ultimate 2016.2中不起作用 http://pasteboard.co/3KvUZkSDv.png,点击应用后错误仍然存​​在。另外我不相信将rxjs添加到库中是不错的,因为node_modules已经是“库根目录”了。 – Rob

+0

这对我有效,但为什么我需要在添加node_module时手动添加rxjs? – Ankush