Webstorm Jasmine集成 - JSHint不承认茉莉

时间:2014-09-29 15:00:15

标签: jasmine webstorm

我使用File>在Webstorm 8.0.4中设置了Jasmine集成。设置> JavaScript>库。我添加了一个karma-jasmine库和我的karma-jasmine节点模块的lib /文件夹。

这在语法突出显示有效的方式下工作正常,我可以跳转到声明并正确显示文档。所以连接似乎很好。但是,JSHint仍然抱怨每个关键字没有被定义,例如

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

另请参见以下屏幕截图。正如您所看到的,语法突出显示很好,但我仍然会收到错误。

webstorm jasmine integration JSHint

2 个答案:

答案 0 :(得分:8)

考虑到我从自己构建的.jshintrc中获得了什么,是的,您需要将这些名称添加到该文件中。

恼人的是,除非你用类似的东西来支架,好吧,自耕农!

以下是yeoman为我们创建的.jshintrc - 以及lodash / underscore和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
    }
}

答案 1 :(得分:3)

这是一个JSHint'功能'。 JSHint基于每个文件工作,并且对其他文件中定义的全局变量和函数一无所知,除非它们被添加到“全局”列表中。这可以通过在代码中添加相应的注释(/* global MY_LIB*/ - 请参阅http://www.jshint.com/docs/),或者将您想要全局使用的变量/函数添加到{{1}中的“预定义”列表中来完成}。这是JSHint选项列表中的最后一项