Come disabilitare l'errore di compilazione JavaScript in Visual Studio 2017?


161

Ho appena aggiornato Visual Studio 2017 da RC a final. Non ho riscontrato il seguente errore, ma di recente ho riscontrato questo errore. Nella costruzione del progetto, ottengo il seguente errore e impedisce l'avvio del progetto Web:

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

Errore JavaScript

Come posso disabilitare l'errore di costruzione JavaScript in Visual Studio 2017?


27
Non è un mio problema con il codice, voglio usare '==' invece di '===' nel mio codice JavaScript
Mohammad Dayyan

9
L'errore JavaScript non dovrebbe impedire la creazione del progetto MVC in Visual Studio
Mohammad Dayyan

O condividi il tuo codice o disabilita il messaggio di errore javascript - leggi questo: stackoverflow.com/questions/2125455/…
Koby Douek

13
@Koby Douek: non è un mio problema con il codice, non voglio creare errori per il file JavaScript in Visual Studio
Mohammad Dayyan

3
Sarei particolarmente interessato a disabilitare questo errore specifico. ==è un operatore di confronto valido quanto "===". Per me non mi impedisce di costruire, ingombra solo l'elenco degli errori quando ho un altro errore nel mio codice del server.
xr280xr,

Risposte:


298

Penso, trova la soluzione:

  1. Aperto Tools > Options
  2. Passare a Text Editor > JavaScript/TypeScript > EsLint(in VS2017 15.8 è Lintingnon EsLint)
  3. Imposta Enable ESLintsuFalse

Disabilita ESlint

Visual Studio> = 15.8.5 Disabilita ESlint Visual Studio 15.8.5


2
Ha funzionato per me in VS2017
Rory McCrossan,

3
suggerimento rapido: la casella di testo in alto a sinistra nello screenshot può essere utilizzata per cercare facilmente qualsiasi impostazione / opzione!
Prashanth Subramanian,

6
Questo non ha funzionato esattamente allo stesso modo in 15.8.0: è nascosto in Linting>GeneralRicerca per lo eslintfarà ancora apparire, ma sarà etichettato come sfilacciatura. Vedi la risposta di @ Brad di seguito.
Ahwm,

1
Questa funzione ha iniziato automaticamente a funzionare dopo l'aggiornamento a VS 2017 15.8.1. Ho dovuto spegnerlo di nuovo manualmente.
Piero Alberto,

1
Grazie! Mi stava facendo incazzare. Per la versione 15.8.5 è solo una casella di controllo ora.
Sterling Diaz,

39

In Visual Studio 2017 (v 15.8.0):

Opzione 1: Opzioni> Errori JS

  1. Aperto Tools > Options
  2. Navigare verso Text Editor > JavaScript/TypeScript > Code Validation
  3. Imposta Enable JavaScript errorssufalse
  4. oppure, impostare Enable JavaScript errorssu truee Show errors as warningssutrue

Ho dovuto riavviare Visual Studio affinché questo abbia effetto.

Opzioni> Errori JS

Opzione 2: Opzioni> Linting

C'è un'altra opzione di seguito che ti permetterà di modificare le impostazioni globali di linting:

Opzioni> Linting JS

Opzione 3: file .eslint

Puoi anche creare un file chiamato .eslintrcnella radice del tuo progetto.

Opzione 4: comandi ESLint nel file

Vedi la risposta di @ user9153924


risorse


15

Ho provato la soluzione di Mohammad ma non ha funzionato. Sono riuscito a lavorare nel modo seguente:

  1. Fare clic con il pulsante destro del mouse sul file .csproj Web
  2. Al primo <PropertyGroup>aggiungi la seguente voce: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

4
Penso che ti sia mancato un paio di passi lì. Intendevi fare clic con il pulsante destro del mouse sul web .csproj, scaricare il progetto, fare nuovamente clic con il pulsante destro del mouse, modificare?
xr280xr,

11

Aggiungi /*eslint eqeqeq: ["error", "smart"]*/alla prima riga del tuo codice Javascript per rimuovere gli errori. https://eslint.org/docs/rules/eqeqeq

In seguito alla soluzione di Mohammad, ESLint verrà disattivato per il controllo della sintassi. Funziona in VS2015 e dovrebbe funzionare in versioni successive.


Perfetto e non getta il bambino fuori con l'acqua del bagno
ShrapNull

Grazie! Questo ha funzionato, ma sono abbastanza sicuro che "errore" dovrebbe essere "off" o 0 (zero, senza virgolette). Ho anche ottenuto un file package.json per funzionare grazie al riferimento URL.
Stan,

4

Per Visual Studio 2019.

inserisci qui la descrizione dell'immagine

  1. Apri Strumenti> Opzioni
  2. Passare a Editor di testo> JavaScript / TypeScript
  3. => Linting> Generale.

Quindi deselezionata la casella di controllo ESLint. Per favore l'immagine qui sotto per riferimento.

inserisci qui la descrizione dell'immagine


3

Ho appena dovuto modificare il comportamento della regola "eqeqeq" per includere "intelligente":

Modifica il file .eslintrc trovato nella cartella principale dell'utente già menzionato in altre risposte.

La modifica viene apportata alla sezione delle regole aggiungendo la regola intelligente

    "rules": {

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

Copiato dall'articolo Web: questa opzione impone l'uso di === e! == ad eccezione di questi casi:

  1. Confronto tra due valori letterali
  2. Valutazione del valore di typeof
  3. Confronto con null

Ho trovato i dettagli su: https://eslint.org/docs/2.0.0/rules/eqeqeq


Grazie! Ho dovuto chiudere e riaprire Visual Studio per rendere effettive le modifiche. Inoltre, l'aggiunta del parametro "smart" non sembra eliminare l'errore in tutti i casi, tuttavia rimuovere la regola del tutto ha fatto il trucco.
zax,

0

Ho provato la soluzione di Mohammad ma, senza fortuna, ho seguito la risposta di Rafeel e invece di aggiungere il suo esempio di codice suggerito ho rimosso il codice sottostante web .csproje alla fine sono stato in grado di costruire ed eseguire il mio progetto. C'erano due posti in cui dovresti rimuoverlo nello stesso file. Tuttavia, non ho idea di come il codice rimosso influenzerà la mia soluzione.

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

Spero che questo aiuti anche qualcuno a salvare la giornata .. !!!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.