如何禁用警告'define'未使用JSHint和RequireJS定义

时间:2013-04-28 07:45:26

标签: javascript requirejs amd jshint

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

在AMD脚本中

 'define' is not defined.

在Mocha测试用例中

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

如何在jshint中删除此警告?

8 个答案:

答案 0 :(得分:187)

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

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

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

如果仅为特定文件定义全局变量,则可以执行以下操作:

/*global describe, it, before, beforeEach, after, afterEach */

答案 1 :(得分:14)

jshint: {
  options: {
    mocha: true,
  }
}

是你想要的

答案 2 :(得分:12)

要避免jshint中未定义的警告,请为javascript添加评论,如:

/*global describe:true*/

Options

答案 3 :(得分:8)

在.jshintrc中添加此内容

"predef" : ["define"]   // Custom globals for requirejs

答案 4 :(得分:6)

派对迟到了,但在jshintrc

中使用此选项
"dojo": true

你将安静地休息,没有红色警告......

答案 5 :(得分:5)

如果您正在处理节点js。在文件的开头添加这两行

/*jslint node: true */
"use strict";

答案 6 :(得分:3)

Read the docs并搜索/*global

答案 7 :(得分:1)

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

WebStorm>偏好>语言与框架> JavaScript>代码质量工具> JSHint

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