109

我在我的项目中使用 RequireJS AMD。当我在我的项目上运行 jshint 时,它会抛出类似的错误

在 AMD 脚本中

 'define' is not defined.

在 Mocha 测试用例中

 'describe' is not defined.
 'it' is not defined.

如何在 jshint 中删除此警告?

4

8 回答 8

187

稍微扩展一下,这里是.jshintrcMocha 的设置:

{
  ....
  "globals"   : {
    /* MOCHA */
    "describe"   : false,
    "it"         : false,
    "before"     : false,
    "beforeEach" : false,
    "after"      : false,
    "afterEach"  : false
  }
}

来自JSHint Docs - false(默认值)表示该变量是只读的。

如果您只为特定文件定义全局变量,您可以这样做:

/*global describe, it, before, beforeEach, after, afterEach */
于 2013-10-24T17:23:15.417 回答
16
jshint: {
  options: {
    mocha: true,
  }
}

是你想要的

于 2015-01-02T16:10:32.483 回答
12

为了避免在 jshint 中为 javascript 添加未定义的警告,请添加如下注释:

/*global describe:true*/

选项

于 2013-09-26T15:39:46.563 回答
8

将此添加到您的 .jshintrc

"predef" : ["define"]   // Custom globals for requirejs
于 2013-11-01T02:50:16.087 回答
6

迟到了,但在你的jshintrc

"dojo": true

你将安息,没有红色警告……

于 2014-06-18T17:06:07.903 回答
6

如果您正在使用节点 js。在文件开头添加这两行

/*jslint node: true */
"use strict";
于 2015-06-29T18:11:11.203 回答
3

阅读文档并搜索/*global

于 2013-04-28T07:55:06.410 回答
1

如果您像我一样尝试使用 Mocha 在 WebStorm 中运行 JSHint,请进入:

WebStorm > 首选项 > 语言和框架 > JavaScript > 代码质量工具 > JSHint

向下滚动到“环境”并确保您已选中复选框以启用“Mocha”,这将为您设置 JSHint for Mocha 的定义。

于 2015-11-04T21:25:32.930 回答