2016-03-25 64 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