2014-09-30 55 views
7

如果您關注JetBrains的Getting Started with Node.js in WebStorm指令,那麼node-express特定代碼會正確突出顯示。但是,如果您創建自己的簡單節點快速項目,例如使用節點快車Guide,然後表達具體的功能,如app.get()有下劃線,並且具有下列警告標示:node-express app.get()在webstorm中標記爲未解決

Unresolved function or method get() 

發生這種情況即使啓用Settings\JavaScript\Libraries下以下庫:

  • 節點。 JS全局
  • Node.js的v0.10.31核心模塊
  • 快遞-DefinitelyTyped(你需要下載)

如何配置WebStorm來解析節點快捷功能,例如app.get()

回答

0

爲Express項目啓用Express-DefinitelyTyped打字稿庫對我有效 - app.get()已成功解決。添加打字稿存根是唯一可能的解決方法,因爲WebStorm無法理解快遞的定義方式 - 請參閱https://youtrack.jetbrains.com/issue/WEB-6667#comment=27-470393

如果添加打印稿存根不適用於您,請嘗試使緩存無效。如果這沒有幫助,我會建議您與JetBrains公司的支持,提供了一個樣本項目而不是快遞definitelyTyped的

+1

擁有它,而下面的節點 - 爲你工作表達'[指南](http://expressjs.com/guide.html)?對於我來說,在默認主題中添加express-DefinitelyTyped確實會將'get'的顏色從灰色更改爲紫色,但下劃線和警告仍然存在。我試圖緩存失效,它沒有幫助。 – Jonathan 2014-09-30 13:52:10

+0

我明白了。問題在於webstorm無法將app.get()的參數與express.d.ts中指定的參數相匹配(不期望將回調作爲第二個參數)。您可以嘗試關閉'簽名不匹配'檢查,以避免看到警告 – lena 2014-09-30 15:11:25

12

,在項目中使用快遞類型:

npm install --save-dev @types/express 
+3

*這個*爲我工作 – Juanjo 2017-09-09 09:33:08

+0

@Jonathan,通過明確添加明確的說明對我來說,修復警告和一切都是非常簡單明瞭的。在這一刻,唯一顯着的區別是我使用的是IDEA而不是WebStorm。我們可以驗證一下,如果您知道您使用ECMAScript,Node.js和Express的哪些版本?我使用ECMAScript 6,Node.js v8.3.0和express v4.15.4。我有你在ECMAScript 5.1上的填充:-) – 2017-10-06 05:14:32