IntelliJ IDEA 在 rxjs5 中找不到 Observable 的运算符
IntelliJ IDEA does not find operators of Observable in rxjs5
我刚刚通过 npm i rxjs@5.0.0-beta.3
安装了 rxjs 5 beta 3。
我有以下示例代码:
import {Observable} from "rxjs"
new Observable(o => o.next(42)).filter(() => true);
例如,当使用 ts-node 时,这段代码编译得非常好。
但是在 IntelliJ IDEA 中查看此代码时,找不到 filter()
运算符。
在 Observable 实例上使用运算符时,也找不到它们。
Observable
的建议静态成员是:
create()
if()
throw()
Observable
实例的建议成员是:
_isScalar()
forEach()
lift()
subscribe()
我也尝试只导入我需要的东西,但我的 IDE 仍然告诉我 filter()
在 Observable 实例上不存在:
import {Observable} from "rxjs/Observable"
import "rxjs/add/operator/filter"
new Observable(o => o.next(42)).filter(() => true);
关于如何制作 IntelliJ 的任何建议 IDEA 了解运算符?
注意: 目录 node_modules
不得从项目中排除。
否则,查看答案
注释 2:文件 package.json
必须包含直接依赖项(或开发依赖项)'rxjs
'
已接受的答案无效。我已经测试了 IntelliJ IDEA 2016.2.1 EAP (ideaIU-162.1447.7
),但问题仍然存在。
兔子洞如下:
- 在已接受的答案中,您发现 link 版本 2016.1,但这并不能解决问题。
- 然后您会看到对 IntelliJ bugtracker 的 link 评论,其中 OP 有 first/top 评论。
- 在那个 issue/bug 线程的底部,您会发现一条评论 saying IDEA 2016.2 162.426.1 EAP 肯定会解决问题,但事实并非如此。
最重要的是,如果你导入所有 RxJS 必须提供的 import {Observable} from 'rxjs/Rx';
IntelliJ 仍然会抱怨它找不到像 .map
和 .filter
[=18 这样的方法=]
要解决此问题,您需要在 IntelliJ 中将 RxJS 添加为 javascript 库:
- 转到设置 -> 语言和框架 -> JavaScript -> 图书馆
- 单击添加...
- 通过单击 + 按钮添加
node_modules/rxjs
- 单击所有 确定 按钮,直到您返回编辑器。
此解决方案经测试适用于 IDEA 2016.1.3
我刚刚通过 npm i rxjs@5.0.0-beta.3
安装了 rxjs 5 beta 3。
我有以下示例代码:
import {Observable} from "rxjs"
new Observable(o => o.next(42)).filter(() => true);
例如,当使用 ts-node 时,这段代码编译得非常好。
但是在 IntelliJ IDEA 中查看此代码时,找不到 filter()
运算符。
在 Observable 实例上使用运算符时,也找不到它们。
Observable
的建议静态成员是:
create()
if()
throw()
Observable
实例的建议成员是:
_isScalar()
forEach()
lift()
subscribe()
我也尝试只导入我需要的东西,但我的 IDE 仍然告诉我 filter()
在 Observable 实例上不存在:
import {Observable} from "rxjs/Observable"
import "rxjs/add/operator/filter"
new Observable(o => o.next(42)).filter(() => true);
关于如何制作 IntelliJ 的任何建议 IDEA 了解运算符?
注意: 目录 node_modules
不得从项目中排除。
否则,查看答案
注释 2:文件 package.json
必须包含直接依赖项(或开发依赖项)'rxjs
'
已接受的答案无效。我已经测试了 IntelliJ IDEA 2016.2.1 EAP (ideaIU-162.1447.7
),但问题仍然存在。
兔子洞如下:
- 在已接受的答案中,您发现 link 版本 2016.1,但这并不能解决问题。
- 然后您会看到对 IntelliJ bugtracker 的 link 评论,其中 OP 有 first/top 评论。
- 在那个 issue/bug 线程的底部,您会发现一条评论 saying IDEA 2016.2 162.426.1 EAP 肯定会解决问题,但事实并非如此。
最重要的是,如果你导入所有 RxJS 必须提供的 import {Observable} from 'rxjs/Rx';
IntelliJ 仍然会抱怨它找不到像 .map
和 .filter
[=18 这样的方法=]
要解决此问题,您需要在 IntelliJ 中将 RxJS 添加为 javascript 库:
- 转到设置 -> 语言和框架 -> JavaScript -> 图书馆
- 单击添加...
- 通过单击 + 按钮添加
node_modules/rxjs
- 单击所有 确定 按钮,直到您返回编辑器。
此解决方案经测试适用于 IDEA 2016.1.3