Jak wyłączyć błąd kompilacji JavaScript w programie Visual Studio 2017?

161

Właśnie zaktualizowałem Visual Studio 2017 z RC do wersji ostatecznej. Nie otrzymałem następującego błędu, ale ostatnio pojawia się ten błąd. Podczas budowania projektu pojawia się następujący błąd, który uniemożliwia uruchomienie projektu internetowego:

Severity    Code    Description Project File    Line    Suppression State
Error   eqeqeq  (ESLint) Expected '===' and instead saw '=='.   VistaBest.Shop.Web  C:\***\Request.js   21

Błąd JavaScript

Jak mogę wyłączyć błąd kompilacji JavaScript w programie Visual Studio 2017?

Mohammad Dayyan
źródło
27
To nie jest mój problem z kodem, chcę użyć '==' zamiast '===' w moim kodzie JavaScript
Mohammad Dayyan
9
Błąd JavaScript nie powinien uniemożliwiać tworzenia projektu MVC w programie Visual Studio
Mohammad Dayyan
Udostępnij swój kod lub wyłącz komunikat o błędzie javascript - przeczytaj to: stackoverflow.com/questions/2125455/ ...
Koby Douek
13
@Koby Douek: To nie jest mój problem kod, nie chcę do błędu kompilacji do pliku JavaScript w Visual Studio
Mohammad Dayyan
3
Byłbym szczególnie zainteresowany wyłączeniem tego konkretnego błędu. ==jest tak samo ważnym operatorem porównania jak „===”. Nie przeszkadza mi to w budowaniu, po prostu zaśmieca listę błędów, gdy mam inny błąd w kodzie mojego serwera.
xr280xr

Odpowiedzi:

298

Myślę, znajdź rozwiązanie:

  1. otwarty Tools > Options
  2. Przejdź do Text Editor > JavaScript/TypeScript > EsLint(w VS2017 15.8 tak Lintingnie jest EsLint)
  3. Ustaw Enable ESLintnaFalse

Wyłącz ESlint

Visual Studio> = 15.8.5 Wyłącz ESlint Visual Studio 15.8.5

Mohammad Dayyan
źródło
2
Pracował dla mnie w VS2017
Rory
3
szybka wskazówka: pole tekstowe w lewym górnym rogu zrzutu ekranu może służyć do łatwego wyszukiwania dowolnego ustawienia / opcji!
Prashanth Subramanian
6
To nie działało dokładnie w ten sam sposób w 15.8.0 - jest ukryte pod pozycją Linting>GeneralWyszukiwanie eslintnadal je wywoła, ale będzie oznaczone jako linting. Zobacz odpowiedź @ Brada poniżej.
ahwm
1
Ta funkcja zaczęła działać automatycznie po aktualizacji do VS 2017 15.8.1. Musiałem to ponownie wyłączyć ręcznie.
Piero Alberto,
1
Dzięki! To mnie wkurzało. W wersji 15.8.5 jest teraz tylko polem wyboru.
Sterling Diaz
39

W programie Visual Studio 2017 (wersja 15.8.0):

Opcja 1: Opcje> Błędy JS

  1. otwarty Tools > Options
  2. Nawigować do Text Editor > JavaScript/TypeScript > Code Validation
  3. Ustaw Enable JavaScript errorsnafalse
  4. lub ustaw Enable JavaScript errorsna truei Show errors as warningsnatrue

Musiałem ponownie uruchomić Visual Studio, aby to odniosło skutek.

Opcje> Błędy JS

Opcja 2: Opcje> Linting

Poniżej znajduje się inna opcja, która pozwoli Ci edytować globalne ustawienia lintingu:

Opcje> JS Linting

Opcja 3: plik .eslint

Możesz również utworzyć plik o nazwie .eslintrcw katalogu głównym projektu.

Opcja 4: komendy ESLint w pliku

Zobacz odpowiedź @ user9153924


Zasoby

Ćwiek
źródło
15

Wypróbowałem rozwiązanie Mohammada, ale nie zadziałało. Udało mi się pracować wykonując następujące czynności:

  1. Kliknij prawym przyciskiem myszy plik .csproj
  2. Na pierwszym <PropertyGroup>dodaj następujący wpis: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Rafael dos Santos
źródło
4
Myślę, że przegapiłeś tam kilka kroków. Czy chodziło Ci o kliknięcie prawym przyciskiem myszy na swój plik .csproj, zwolnienie projektu, ponowne kliknięcie prawym przyciskiem myszy, edycja?
xr280xr
11

Dodaj /*eslint eqeqeq: ["error", "smart"]*/do pierwszego wiersza kodu JavaScript, aby usunąć błędy. https://eslint.org/docs/rules/eqeqeq

Podążanie za rozwiązaniem Mohammada wyłączy ESLint do sprawdzania składni. Działa to w VS2015 i powinno działać w nowszych wersjach.

user9153924
źródło
Idealny i nie
wylewa
Dziękuję Ci! To zadziałało, ale jestem prawie pewien, że „błąd” powinien być „wyłączony” lub 0 (zero, brak cudzysłowów). Otrzymałem również plik package.json do pracy dzięki odwołaniu do adresu URL.
Stan
4

W przypadku programu Visual Studio 2019.

wprowadź opis obrazu tutaj

  1. Otwórz Narzędzia> Opcje
  2. Przejdź do Edytor tekstu> JavaScript / TypeScript
  3. => Linting> General.

Następnie odznaczono pole wyboru ESLint. Proszę poniższy obraz w celach informacyjnych.

wprowadź opis obrazu tutaj

Nilachal Sethi
źródło
3

Właśnie musiałem zmienić „eqeqeq” zachowanie reguły aby uwzględnić „smart”:

Edytuj plik .eslintrc znaleziony w folderze głównym użytkownika, o którym mowa już w innych odpowiedziach.

Zmiana jest wprowadzana w sekcji reguł poprzez dodanie reguły inteligentnej

    "rules": {

    "eqeqeq": [2, "smart"],

Skopiowano z artykułu internetowego: Ta opcja wymusza użycie === i! == z wyjątkiem następujących przypadków:

  1. Porównanie dwóch wartości literałów
  2. Ocena wartości typeof
  3. Porównanie z null

Szczegóły znalazłem na: https://eslint.org/docs/2.0.0/rules/eqeqeq

cjl
źródło
Dziękuję Ci! Musiałem zamknąć i ponownie otworzyć program Visual Studio, aby zmiana odniosła skutek. Ponadto dodanie parametru „smart” nie wydawało się usuwać błędu we wszystkich przypadkach, jednak całkowite usunięcie reguły załatwiło sprawę.
zax
0

Wypróbowałem rozwiązanie Mohammada, ale bez powodzenia poszedłem za odpowiedzią Rafeela i zamiast dodawać jego sugerowany przykład kodu, usunąłem poniższy kod z web .csproji wreszcie mogłem zbudować i uruchomić mój projekt. Były dwa miejsca, w których powinieneś to usunąć w tym samym pliku. Mimo to nie mam pojęcia, jak usunięty kod wpłynie na moje rozwiązanie.

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />

Mam nadzieję, że to również pomoże komuś uratować dzień .. !!!

SilentCoder
źródło