Jak wyłączyć ostrzeżenie 'define' nie jest zdefiniowane za pomocą JSHint i RequireJS

W moim projekcie używam AMD RequireJS. Kiedy uruchamiam jshint w moim projekcie, wyświetla błąd jak

W skryptach AMD

 'define' is not defined.

W testach Mocha

 'describe' is not defined.
 'it' is not defined.

Jak usunąć to Ostrzeżenie w jshint?

Author: Bas Slagter, 2013-04-28

8 answers

Aby nieco rozszerzyć, oto .jshintrc Konfiguracja dla Mocha:

{
  ....
  "globals"   : {
    /* MOCHA */
    "describe"   : false,
    "it"         : false,
    "before"     : false,
    "beforeEach" : false,
    "after"      : false,
    "afterEach"  : false
  }
}

Z Jshint Docs - false (wartość domyślna) oznacza, że zmienna jest tylko do odczytu.

Jeśli definiujesz globale tylko dla określonego pliku, możesz to zrobić:

/*global describe, it, before, beforeEach, after, afterEach */
 187
Author: bendytree,
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-10-30 20:29:01
jshint: {
  options: {
    mocha: true,
  }
}

Is what you want

 15
Author: Grant Fong,
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-01-02 16:10:32

Aby uniknąć nie zdefiniowanego ostrzeżenia w jshint dla javascript Dodaj komentarze typu:

/*global describe:true*/

Opcje

 12
Author: Roland Puntaier,
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-09-26 15:39:46

Dodaj to do swojego .jshintrc

"predef" : ["define"]   // Custom globals for requirejs
 8
Author: Shital Shah,
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-11-01 02:50:16

Późno na imprezę, ale użyj tej opcji w swoim jshintrc:

"dojo": true
I spoczniesz spokojnie bez czerwonych ostrzeżeń...
 6
Author: Gilad Peleg,
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
2014-06-18 17:06:07

Jeśli pracujesz na node js. Dodaj te dwie linie na początku pliku

/*jslint node: true */
"use strict";
 6
Author: salihcenap,
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-06-29 18:11:11

Przeczytaj dokumenty i wyszukaj /*global

 3
Author: Paul Grime,
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-04-28 07:55:06

Jeśli próbujesz uruchomić JSHint w WebStorm z Mocha, tak jak ja, wejdź w:

WebStorm > Preferencje > Języki I Frameworki > JavaScript > Narzędzia Jakości Kodu > JSHint

Przewiń w dół do "środowisk" i upewnij się, że wybrałeś pole wyboru, aby włączyć "Mocha", które skonfiguruje definicje dla JSHint dla Mocha dla Ciebie.

 1
Author: nyarasha,
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-11-04 21:25:32