首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSHint认为茉莉花函数是未定义的

JSHint认为茉莉花函数是未定义的
EN

Stack Overflow用户
提问于 2014-09-29 02:29:02
回答 4查看 12.6K关注 0票数 29

我有一个Grunt设置,它使用Karma+Jasmine和JSHint。每当我在我的规范文件上运行JSHint时,我就会得到一系列“未定义”错误,其中大部分是针对Jasmine的内置函数的。例如:

代码语言:javascript
复制
Running "jshint:test" (jshint) task

   js/main.spec.js
      3 |describe("loadMatrix()", function() {
         ^ 'describe' is not defined.
      4 |    it("should not assign a value if no arg is passed.", function() {
             ^ 'it' is not defined.

(我还从JS文件中得到了一些未定义的变量和函数错误,我的规范是针对JS文件进行测试的,但我不知道为什么会这样,这可能是一个单独的问题。)

我的Karma配置文件中有frameworks: [ "jasmine" ],我没有为JSHint设置任何全局文件,也没有一个.jshintrc文件,因为我在Grunt中配置它。我曾经尝试过在我的Gruntfile中将Jasmine的函数添加为JSHint全局函数,但是将它们设置为truefalse并没有什么区别--当JSHint运行时,错误仍然持续存在。

我遗漏了什么?我似乎不能做任何事情让JSHint跳过定义检查,在我的规范文件中检查Jasmine的函数。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-10-01 02:55:56

小更正- .jshintrc文件中的predef周围应该有"“。

修正了将其添加到我的jshint中的Gruntfile.coffee选项

代码语言:javascript
复制
predef: [
    "jasmine"
    "describe"
    "xdescribe"
    "before"
    "beforeEach"
    "after"
    "afterEach"
    "it"
    "xit"
    "it"
    "inject"
    "expect"
    "spyOn"
]

.jshintrc

代码语言:javascript
复制
"predef": [
    "jasmine",
    "describe",
    "xdescribe",
    "before",
    "beforeEach",
    "after",
    "afterEach",
    "it",
    "xit",
    "it",
    "inject",
    "expect",
    "spyOn",
]
票数 22
EN

Stack Overflow用户

发布于 2014-11-25 21:18:08

您只需将"jasmine": true添加到.jshintrc文件中即可。

票数 69
EN

Stack Overflow用户

发布于 2015-01-04 05:27:41

我在Gruntfile.js中修正了这一点,将jasmine: true添加到jshint任务的选项中:

代码语言:javascript
复制
jshint:
{
    options:
    {
        ...
        node: true,
        jasmine: true,
        ...
    },
    ...
},

和OP一样,我也不使用.jshintrc文件。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26091744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档