2014-09-29 127 views
5

我使用File> Settings> JavaScript> Libraries在Webstorm 8.0.4中設置了Jasmine集成。我在我的karma-jasmine節點模塊的lib /文件夾中添加了一個karma-jasmine庫。Webstorm茉莉花集成 - JSHint不識別茉莉花

這種方式工作正常,語法突出顯示的作品,我可以跳轉到聲明和文檔顯示正確。所以連接似乎很好。然而,JSHint仍然抱怨每個關鍵詞沒有被定義,例如

JSHint: 'describe' is not defined. (117) 

另請參見以下屏幕截圖。正如你所看到的,語法突出顯示很好,但我仍然遇到錯誤。

webstorm jasmine integration JSHint

+0

這是在這裏正確回答http://stackoverflow.com/a/27136840/1264548 – edamon 2015-04-10 18:24:35

回答

8

考慮到我從yeoman構建的.jshintrc中得到的是,您需要將這些名稱添加到該文件中。

令人討厭的是,除非你用腳手架搭配like,well,yeoman!

這裏是yeoman爲我們創建的.jshintrc - 加上lodash /下劃線和jQuery。

{ 
    "node": true, 
    "browser": true, 
    "esnext": true, 
    "bitwise": true, 
    "camelcase": true, 
    "curly": true, 
    "eqeqeq": true, 
    "immed": true, 
    "indent": 4, 
    "latedef": true, 
    "newcap": true, 
    "noarg": true, 
    "quotmark": "single", 
    "undef": true, 
    "unused": true, 
    "strict": true, 
    "trailing": true, 
    "smarttabs": true, 
    "multistr": true, 
    "globals": { 
     "after": false, 
     "afterEach": false, 
     "angular": false, 
     "before": false, 
     "beforeEach": false, 
     "browser": false, 
     "describe": false, 
     "expect": false, 
     "inject": false, 
     "it": false, 
     "jasmine": false, 
     "spyOn": false,    
     "$": false, 
     "_": false 
    } 
} 
+0

如果你可以將配置複製/粘貼爲文本而不是截圖,那就太棒了。這樣,我(和其他人)可以簡單地複製/粘貼它。 – dirkk 2014-09-29 16:15:43

+2

@dirkk完成!它現在可用於複製/粘貼樂趣! – 2014-09-30 06:03:03

+0

@StenMuchow,我複製並粘貼了整個事情,webstorm仍然給我那些惱人的紅色,我還錯過了什麼?謝謝 – dshun 2016-04-15 22:18:10

3

這是一個JSHint '功能'。 JSHint以每個文件爲基礎工作,並且除非將其添加到「全局」列表中,否則對其他文件中定義的全局變量和函數一無所知。這可以通過在代碼中添加相應註釋(/* global MY_LIB*/ - 請參閱http://www.jshint.com/docs/),或者通過將想要全局使用的變量/函數添加到Preferences -> Javascript -> Code Quality Tool -> JSHint -> Predefined (,separated)中的「預定義」列表中。這是JSHint選項列表中的最後一項

+0

我不明白。我是否應該將每個關鍵字添加到全局變量列表中? – dirkk 2014-09-29 15:22:01

+0

不是關鍵字,而是在你的規範文件 – lena 2014-09-29 15:41:50

+1

以外定義的所有全局對象的名字呀,所以'describe','it','expect'等等,對吧?這對我來說似乎很荒謬...... – dirkk 2014-09-29 15:43:27