在我的项目中,我们有一些作为容器工作的全局变量:
MyProject.MyFreature.someFunction = function() { ... }
因此,我在整个网站上使用该脚本,JSLint/JSHint抱怨道:
未定义"MyProject"
我知道我可以访问每个JavaScript文件,并在上面添加注释/*global MyProject*/
。但我正在寻找一种方法,在某种配置文件中定义该注释,这样我就不必逐个文件添加该注释。
config/jshint.yml
中的某种选项会很好。
对于JSHint,您可以使用在项目目录中创建.jshintrc
{
"globals": { "MyProject": true }
}
这仅适用于全局
/* global MyProject */
在您的情况下,您需要
/* exported MyProject */
JSLint在选项下方有一个文本区域,其中显示predefine global variables here
。在运行检查之前,只需在其中添加变量名即可。
JSHint不允许您添加全局变量,但您可以取消选中When variable is undefined
选项来抑制该警告。
JSHint库也有全局参数,如果您将其作为库运行。此处的详细信息:http://jshint.com/docs/