2014-10-11 168 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部分指令更多的信息。