Jak powiedzieć JSLint / JSHint jakie zmienne globalne są już zdefiniowane

W moim projekcie mamy kilka zmiennych globalnych, które działają jako kontenery:

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

Więc używam tego skryptu na całej stronie i JSLint / JSHint narzeka na to:

'MyProject' nie jest zdefiniowany

Wiem, że mogę przejść do każdego pliku JavaScript i dodać do niego komentarz /*global MyProject*/. Ale szukam sposobu, aby zdefiniować ten komentarz w jakimś pliku konfiguracyjnym, więc nie muszę iść plik po pliku dodając ten komentarz.

Jakiś rodzaj opcji w Byłoby miło.

Author: Tiny Giant, 2013-07-18

3 answers

Dla JSHint możesz utworzyć .jshintrc do katalogu projektu za pomocą

{
  "globals": { "MyProject": true }
}
 75
Author: Epeli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-17 20:48:28

To tylko dla globali

/* global MyProject */

W Twoim przypadku potrzebujesz

/* exported MyProject */
 35
Author: zevero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-03 08:48:31

JSLint ma pole tekstowe poniżej opcji, które zawiera predefine global variables here. Po prostu dodaj tam nazwy zmiennych przed uruchomieniem czeku.

JSHint nie pozwala na dodawanie zmiennych globalnych, ale można odznaczyć opcję When variable is undefined, aby wyłączyć to Ostrzeżenie.

Biblioteka JSHint ma również parametry dla globali, jeśli uruchomisz ją jako bibliotekę . . . szczegóły tutaj: http://jshint.com/docs/

 4
Author: talemyn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-17 20:49:27