如何告诉JSLint / JSHint已定义了哪些全局变量

时间:2013-07-17 20:31:47

标签: javascript global-variables jslint jshint

在我的项目中,我们有一些全局变量可用作容器:

MyProject.MyFreature.someFunction = function() { ... }

然后我在整个网站上使用该脚本,JSLint / JSHint抱怨:

  

'MyProject'未定义

我知道我可以访问每个JavaScript文件并在其上添加评论/*global MyProject*/。但我正在寻找一种方法来在某种配置文件中定义该注释,所以我不必逐个文件添加此注释。

config/jshint.yml中的某种选项会很好。

3 个答案:

答案 0 :(得分:77)

对于JSHint,您可以使用

为项目目录创建.jshintrc
{
  "globals": { "MyProject": true }
}

答案 1 :(得分:39)

这仅适用于全局

/* global MyProject */

在您的情况下,您需要

/* exported MyProject */

答案 2 :(得分:4)

JSLint在其中的predefine global variables here选项下面有一个textarea。在运行检查之前,只需在其中添加变量名称。

JSHint不允许您添加全局变量,但您可以取消选中When variable is undefined选项来禁止该警告。

如果将JSHint库作为库运行,它还具有全局变量的参数。 。 。详情请点击此处:http://jshint.com/docs/