web-dev-qa-db-ger.com

So teilen Sie JSLint / JSHint mit, welche globalen Variablen bereits definiert sind

In meinem Projekt gibt es einige globale Variablen, die als Container funktionieren:

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

Also benutze ich dieses Skript auf der ganzen Site und JSLint/JSHint beschwert sich darüber:

'MyProject' ist nicht definiert

Ich weiß, dass ich zu jeder JavaScript-Datei gehen und den Kommentar /*global MyProject*/ Hinzufügen kann. Aber ich suche eine Möglichkeit, diesen Kommentar in einer Art Konfigurationsdatei zu definieren, damit ich diesen Kommentar nicht Datei für Datei hinzufügen muss.

Eine Art Option im config/jshint.yml Wäre nett.

69

Für JSHint können Sie .jshintrc in Ihr Projektverzeichnis mit

{
  "globals": { "MyProject": true }
}
77
Epeli

Dies ist nur für Globals

/* global MyProject */

In deinem Fall brauchst du

/* exported MyProject */
41
zevero

JSLint hat ein Textfeld unter den Optionen, in dem predefine global variables here drin. Fügen Sie einfach die Variablennamen hinzu, bevor Sie die Prüfung durchführen.

Mit JSHint können Sie keine globalen Variablen hinzufügen, aber Sie können das Häkchen bei When variable is undefined Option, um diese Warnung zu unterdrücken.

Die JSHint-Bibliothek enthält auch Parameter für globale Elemente, wenn Sie sie als Bibliothek ausführen. . . Details hier: http://jshint.com/docs/

4
talemyn