2014-09-29 164 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