Dlaczego JSHint wysyła ostrzeżenie, Jeśli używam const?
Jest to błąd, który pojawia się podczas używania const:
<error line="2" column="1" severity="warning" message="'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" />
Mój kod wygląda tak:
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
Kod działa dobrze tylko JSHint ostrzega mnie za każdym razem.
10 answers
Gdy korzystasz z funkcji ECMAScript 6, takich jak const
, powinieneś ustawić tę opcję, aby JSHint nie generował niepotrzebnych ostrzeżeń.
/*jshint esnext: true */ (Edit 2015.12.29 : zaktualizowana składnia odzwierciedlająca @Olga ' s comments )
/*jshint esversion: 6 */
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
Ta opcja, jak sama nazwa wskazuje, mówi JSHint, że Twój kod używa składni specyficznej dla ECMAScript 6. http://jshint.com/docs/options/#esversion
Edycja 2017.06.11 : dodano kolejną opcję na podstawie tej odpowiedzi .
Podczas gdy konfiguracja inline działa dobrze dla pojedynczego pliku, możesz również włączyć to ustawienie dla całego projektu, tworząc plik .jshintrc
w głównym projekcie i dodając go tam.
{
"esversion": 6
}
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
2017-12-30 20:02:39
Możesz dodać plik o nazwie .jshintrc w aplikacji root z następującą zawartością, aby zastosować to ustawienie dla całego rozwiązania :
{
"esversion": 6
}
Odpowiedź Jamesa sugeruje, że możesz dodać komentarz /*jshint esversion: 6 */
dla KAŻDEGO pliku , ale jest to więcej pracy niż konieczne, jeśli potrzebujesz kontrolować wiele plików.
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
2018-07-30 13:43:22
Spędziłem wieki próbując to naprawić. Każde rozwiązanie mówi o "opcjach ustawień". Nie wiem, co to znaczy. W końcu to rozgryzłem. Możesz po prostu dołączyć skomentowaną linię na górze pliku /*jshint esversion: 6 */
.
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
2016-06-10 11:56:28
Otrzymałem to samo ostrzeżenie podczas używania deklaracji eksportowej. Używam kodu VS i stosuję podobne podejście do rozwiązania Wenlong Jiang.
- Ustawienia Użytkownika
- jshint config
-
"jshint.options": {}
(edytuj) -
Użyj podwójnych cudzysłowów przy określaniu
"esversion"
Lub skopiuj ten fragment do ustawień Użytkownika:
"jshint.options": { "esversion": 6, }
Tworzenie pliku .jshintrc
nie jest konieczne, jeśli chcesz skonfigurować globalne ustawienia jshint dla Twojego edytora
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
2018-08-24 09:24:20
Możesz określić esversion:6 wewnątrz obiektu jshint options. Proszę zobaczyć zdjęcie. Używam wtyczki grunt-contrib-jshint.
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
2017-02-07 19:57:59
Jeśli używasz VSCode:
- przejdź do -> ustawienia (
cmd + ,
) - wpisz
jshint.options
w pasku wyszukiwania - najedź na nią i kliknij ikonę ołówka
- jest teraz dołączony po prawej stronie.
- dodaj
"esversion": 6
do obiektu options.
Lub po prostu dodaj to do ustawień użytkownika:
"jshint.options": {
"esversion": 6
}
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
2018-03-02 16:21:57
Kiedy zaczynasz używać ECMAScript 6 ten błąd wyrzucany przez twoje IDE.
Dostępne są dwie opcje:
Jeśli masz tylko jeden plik i chcesz użyć es6, po prostu dodaj poniższą linię u góry pliku.
/*jshint esversion: 6 */
Lub jeśli masz numer pliku js lub używasz dowolnego frameworka (np. NodeJS express), możesz utworzyć nowy plik o nazwie .jshintrc
w katalogu głównym i dodać kod poniżej:
{
"esversion": 6
}
Jeśli chcesz użyć wersji es6 do każdy projekt można skonfigurować IDE.
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
2018-07-07 08:16:52
Utwórz plik o nazwie, powiedzmy jshint_opts z tą zawartością: { "esversion": 6 }
Następnie wywołaj jshint z czymś takim jak ta linia poleceń:
Jshint --config jshint_opts lib/*.js
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
2017-12-07 21:40:47
If using Sublime Text 3:
- Przejdź do -> Ustawienia
- Pod Preferencjami.sublime-settings-User add "esversion": 6
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
2018-07-03 20:58:42
Jeśli korzystasz z Webstorm i nie masz własnego pliku konfiguracyjnego, włącz EcmaScript.next
w opcjach in
Settings / Languages & Framework | JavaScript / Code Quality Tools | JSHint
Zobacz to pytanie Jak-rozwiązać-te-błędy-JSHINT-ES6
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
2018-09-29 13:38:14