2014-10-11 171 views
2

我在文件中的下列对象remover.jsJSHint抱怨对象

'use strict'; 

(function(remover, $, undefined) { 
    // ... 
    // Object's definition 
    // ... 
}(window.remover = window.remover || {}, jQuery)); 

这是在外部文件中使用main.js

'use strict'; 

remover.doSomething(); 

的代码工作,但JSHint引发以下问题:

Running "jshint:all" (jshint) task 

app/scripts/stuff/main.js 
    line 3 col 1 'remover' is not defined. 

✖ 1 problem 

如何移除此警告?

回答

7

你有两个选择,一个是越来越的所有不确定警告,这是不利于你的调试,另外一个是专门解决全球实体问题的旅程。

  1. 禁用VAR未定义警告(糟糕!)

    只是禁用的main.js警告与undef选项文件

    'use strict'; 
    /*jshint undef:false */ 
    
  2. 告诉JSHint这是外部库(good!)

    提到的每一个变量为全球

    'use strict'; 
    /*global remover */ 
    

现在运行grunt jshint应该输出:

Running "jshint:all" (jshint) task 

✔ No problems 

有在JSHint Documentation部分指令更多的信息。