To jest 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 następująco:
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
Kod działa dobrze, tylko JSHint ostrzega mnie za każdym razem.
"use esnext option"
. I dlaczego? Czy ten komunikat o błędzie nie jest dość jasny?const
nie jest standardowym JS (jeszcze).Odpowiedzi:
Korzystając z funkcji ECMAScript 6, takich jak
const
, powinieneś ustawić tę opcję, aby JSHint nie generował niepotrzebnych ostrzeżeń./ * jshint esnext: true * /( Edytuj 2015.12.29 : zaktualizowano składnię, aby odzwierciedlała komentarze @ Olgi )Ta opcja, jak sama nazwa wskazuje, informuje JSHint, że twój kod używa składni specyficznej dla ECMAScript 6. http://jshint.com/docs/options/#esversion
Edytuj 2017.06.11 : dodano kolejną opcję opartą na tej odpowiedzi .
Chociaż konfiguracja wbudowana działa dobrze dla pojedynczego pliku, możesz również włączyć to ustawienie dla całego projektu, tworząc
.jshintrc
plik w katalogu głównym projektu i dodając go tam.źródło
Warning This option has been deprecated and will be removed in the next major release of JSHint. Use esversion: 6 instead.
Chociaż moja wtyczka Webstorm nie rozpoznaje nowej opcji. Skończyło się na określeniu obu.Możesz dodać plik o nazwie .jshintrc w katalogu głównym aplikacji z następującą zawartością, aby zastosować to ustawienie do całego rozwiązania :
Odpowiedź Jamesa sugeruje, że możesz dodać komentarz
/*jshint esversion: 6 */
do każdego pliku, ale jest to więcej pracy niż to konieczne, jeśli musisz kontrolować wiele plików.źródło
.jshintrc
.JSHint will start looking for this file in the same directory as the file that's being linted. If not found, it will move one level up the directory tree all the way up to the filesystem root. (Note that if the input comes from stdin, JSHint doesn't attempt to find a configuration file)
Otrzymałem to samo ostrzeżenie, gdy korzystam z wyciągu eksportowego. Używam VS Code i zastosowałem podobne podejście do rozwiązania Wenlong Jiang.
"jshint.options": {}
(Edytować)Przy określaniu użyj podwójnych cudzysłowów
"esversion"
Lub skopiuj ten fragment do Ustawień użytkownika:
Utworzenie
.jshintrc
pliku nie jest konieczne, jeśli chcesz skonfigurować globalne ustawienia jshint dla swojego edytoraźródło
Jeśli używasz VSCode:
1.
cmd + ,
)jshint.options
w pasek wyszukiwania"esversion": 6
do obiektu opcji.2)
Lub po prostu dodaj to do ustawień użytkownika:
[AKTUALIZACJA] nowe ustawienia vscode
cmd + ,
)jshint
w wyszukiwaniu2.
źródło
Spędziłem wieki próbując to naprawić. Każde rozwiązanie mówi o „ustawieniach opcji”. Nie wiem co to znaczy. W końcu to rozgryzłem. Możesz po prostu dodać komentarz na górze pliku
/*jshint esversion: 6 */
.źródło
.jshintrc
a następnie dodanie do pliku następującego kodu{ "esnext": true }
{ "esnext": true }
jest teraz przestarzała . Powinieneś teraz użyć{ "esversion": 6 }
zamiast tego."esnext": true
mogłem to rozwiązać."esversion": 6
nie miało wpływu.Możesz określić esversion: 6 wewnątrz obiektu opcji jshint. Proszę zobaczyć obraz. Korzystam z wtyczki grunt-contrib-jshint.
źródło
Kiedy zaczynasz używać ECMAScript 6, ten błąd zgłaszany przez twoje IDE.
Dostępne są dwie opcje:
jeśli masz tylko jeden plik i chcesz korzystać z es6, po prostu dodaj poniżej wiersza u góry pliku.
Lub jeśli masz liczbę plików js lub używasz dowolnego frameworka (takiego jak nodejs express), możesz utworzyć nowy plik o nazwie
.jshintrc
w katalogu głównym i dodać kod poniżej w pliku:Jeśli chcesz używać wersji es6 dla każdego projektu, możesz skonfigurować IDE.
źródło
W pliku package.json możesz powiedzieć Jshint, aby używał es6 w ten sposób
źródło
Jeśli używasz Webstorm i nie masz własnego pliku konfiguracyjnego, po prostu włącz
EcmaScript.next
opcję Relaks wZobacz to pytanie: Jak rozwiązać błędy JSHint-ES6?
źródło
Jeśli używasz konfiguracji Grunt, musisz wykonać następujące kroki
Komunikat ostrzegawczy w Jshint:
Rozwiązanie:
Po skonfigurowaniu, uruchom ponownie. Pominie ostrzeżenie,
źródło
Utwórz plik o nazwie powiedz jshint_opts z tą zawartością: {"esversion": 6}
Następnie wywołaj jshint za pomocą czegoś takiego:
jshint --config jshint_opts lib / *. js
źródło
W przypadku SublimeText 3 na Macu:
źródło
Maj 2020 Oto proste rozwiązanie, które znalazłem i rozwiąże dla wszystkich moich projektów, w systemie Windows, jeśli twój projekt znajduje się gdzieś w katalogu c:, utwórz nowy plik .jshintrc i zapisz go w katalogu C otwórz ten plik .jshintrc i napisz
{ "esversion": 6}
i to to. ostrzeżenia powinny zniknąć, to samo będzie działać w katalogu dtak, możesz również włączyć to ustawienie dla konkretnego projektu tylko przez utworzenie tego samego pliku .jshintrc w katalogu głównym projektu i dodanie
{ "esversion": 6}
źródło
Utwórz
.jshintrc
plik w katalogu głównym i dodaj ustaw tam najnowszą wersję js:"esversion": 9
i wersję asi:"asi": true
(pomoże to uniknąć używania średników)źródło
Aby to naprawić w Dreamweaver CC 2018, poszedłem do preferencji, edytowałem zestaw reguł - wybierz JS, edytuj / zastosuj zmiany, znajdź „esnext” i zmieniłem ustawienie false na true. To zadziałało dla mnie po wielu godzinach badań. Mam nadzieję, że pomaga innym.
źródło
Jeśli używasz Sublime Text 3:
źródło
W nowej wersji Dreamweaver, aby rozwiązać ten błąd
I przejdź do js Edytuj zestaw reguł i przeszłość
„jshintConfig”: {„esversion”: 6}
źródło