2016-02-05 77 views
0

英特爾XDK中的括號編輯器要求我在我的js文件中做一些奇怪的事情。 如果我儘量讓Ajax調用,jshint會給我這個錯誤:禁用英特爾XDK中的JsHint警告

`$ is not defined (w117).` 

我已經能夠找出如何擺脫此警告的唯一方法就是看似顯然我錯了。我必須聲明

`var $;`. 

當我使用'document'來操作DOM時,它是一樣的。如果我不這樣做

`var document;` 

首先我會得到另一個未定義的警告。 這是什麼問題?

回答

0

如果你去JsHint文件(這裏找到:http://jshint.com/docs/),它會告訴你這個

配置 JSHint帶有警告的默認設置,但它的設計是非常可配置的。有三種主要的方法來配置您的JSHint副本:您可以通過--config標誌手動指定配置文件,使用特殊文件.jshintrc或將您的配置放入jshintConfig屬性下的項目package.json文件中。在.jshintrc的情況下,JSHint將開始在與正在被分割的文件相同的目錄中查找這個文件。如果找不到,它將一直向上移動到文件系統根目錄樹上一級。 (請注意,如果輸入來自stdin,JSHint不會嘗試查找配置文件)

此設置允許您爲每個項目配置不同的配置文件。將您的文件放入項目根目錄,並且只要您在項目目錄樹中的任何位置運行JSHint,就會使用相同的配置文件。

配置文件是一個簡單的JSON文件,它指定打開或關閉哪些JSHint選項。例如,以下文件將啓用有關未定義和未使用變量的警告,並告知JSHint有關名爲MY_GLOBAL的全局變量。

{ 
    "undef": true, 
    "unused": true, 
    "predef": [ "MY_GLOBAL" ] 
} 

串列式結構 除了使用配置文件,您可以使用特殊的註釋文件中配置JSHint。這些註釋以諸如jshint或globals(下面的完整列表)之類的標籤開頭,後跟逗號分隔的值列表。例如,以下片段將啓用有關未定義和未使用變量的警告,並告知JSHint有關名爲MY_GLOBAL的全局變量。

/* jshint undef: true, unused: true */ 
/* globals MY_GLOBAL */ 

您可以同時使用多行和單行註釋來配置JSHint。這些註釋是函數作用域的意思,如果你把它們放在一個函數內,它們只會影響這個函數的代碼。

這裏更多的是直列從https://man42.net/blog/2013/04/jshint-disable-warning-globally/

There is two ways to disable a specific warning in JSHint: 

Locally, by inserting a comment in your JavaScript file: /*jshint -W099 */ 

Globally, by editing your .jshintrc file: 

{ 
    /* ... */ 

    "-W099": false, // disable: Mixed spaces and tabs. 
    "-W065": false, // disable: Missing radix parameter. 
    "-W015": false, // disable: Expected 'X' to have an indentation at Y instead at Z. 
    "-W116": false, // disable: Expected '===' and instead saw '=='. 
} 
0

嘗試禁用定義您正在使用的jshintrc的環境。在你的情況下,它看起來像你正在用jQuery($)編寫一個web應用程序(文檔)。添加到您的jshintrc:

{ 
    "browser": true, 
    "jquery": true 
} 

你可以閱讀更多有關在documentation環境。