¿Cómo deshabilitar el error de compilación de JavaScript en Visual Studio 2017?

161

Acabo de actualizar Visual Studio 2017 de RC a la final. No recibí el siguiente error, pero recientemente recibí este error. Al crear el proyecto, aparece el siguiente error e impide que se inicie el proyecto web:

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

Error de JavaScript

¿Cómo puedo desactivar el error de creación de JavaScript en Visual Studio 2017?

Mohammad Dayyan
fuente
27
No es mi problema de código, quiero usar '==' en lugar de '===' en mi código JavaScript
Mohammad Dayyan
9
El error de JavaScript no debería impedir la creación del proyecto MVC en Visual Studio
Mohammad Dayyan
Comparta su código o desactive el mensaje de error de JavaScript: lea esto: stackoverflow.com/questions/2125455/…
Koby Douek
13
@ Koby Douek: No es mi problema de código, no quiero generar un error para el archivo JavaScript en Visual Studio
Mohammad Dayyan
3
Me interesaría particularmente deshabilitar este error específico. ==es un operador de comparación tan válido como '==='. Para mí, no me impide construir, simplemente llena la lista de errores cuando tengo otro error en el código de mi servidor.
xr280xr

Respuestas:

298

Pienso, encuentra la solución:

  1. Abierto Tools > Options
  2. Navegar a Text Editor > JavaScript/TypeScript > EsLint (en VS2017 15.8 es Lintingno EsLint)
  3. Conjunto Enable ESLint enFalse

Deshabilitar ESlint

Visual Studio> = 15.8.5 Deshabilitar ESlint Visual Studio 15.8.5

Mohammad Dayyan
fuente
2
Trabajó para mí en VS2017
Rory McCrossan
3
Consejo rápido: ¡el cuadro de texto en la parte superior izquierda de la captura de pantalla se puede usar para buscar cualquier configuración / opción fácilmente!
Prashanth Subramanian
66
Esto no funcionó exactamente de la misma manera en 15.8.0: está oculto en Linting>GeneralBuscar eslintaún lo abrirá, pero se etiquetará como linting. Vea la respuesta de @ Brad a continuación.
ahwm
1
Esta característica comenzó a funcionar automáticamente después de la actualización a VS 2017 15.8.1. Tuve que apagarlo de nuevo manualmente.
Piero Alberto
1
¡Gracias! Eso me estaba cabreando. Para la versión 15.8.5 es solo una casilla de verificación ahora.
Sterling Diaz
39

En Visual Studio 2017 (v 15.8.0):

Opción 1: Opciones> Errores JS

  1. Abierto Tools > Options
  2. Navegar a Text Editor > JavaScript/TypeScript > Code Validation
  3. Conjunto Enable JavaScript errors enfalse
  4. o, ajuste Enable JavaScript errorsa truey Show errors as warningsatrue

Necesitaba reiniciar Visual Studio para que esto surta efecto.

Opciones> Errores JS

Opción 2: Opciones> Linting

Hay otra opción a continuación que le permitirá editar su configuración global de linting:

Opciones> JS Linting

Opción 3: archivo .eslint

También puedes crear un archivo llamado .eslintrc en la raíz de su proyecto.

Opción 4: comandos de ESLint en el archivo

Ver la respuesta de @ user9153924


Recursos

Puntilla
fuente
15

Probé la solución de Mohammad pero no funcionó. Logré trabajar haciendo lo siguiente:

  1. Haga clic derecho en su archivo web .csproj
  2. En la primera <PropertyGroup>agregue la siguiente entrada: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Rafael dos Santos
fuente
44
Creo que te perdiste un par de pasos allí. ¿Te refieres a hacer clic derecho en tu web .csproj, descargar proyecto, hacer clic derecho nuevamente, editar?
xr280xr
11

Agregue /*eslint eqeqeq: ["error", "smart"]*/a la primera línea de su código Javascript para eliminar los errores. https://eslint.org/docs/rules/eqeqeq

Seguir la solución de Mohammad apagará ESLint para la verificación de sintaxis. Esto funciona en VS2015 y debería funcionar en versiones posteriores.

usuario9153924
fuente
Perfecto y no tira al bebé con el agua del baño
ShrapNull
¡Gracias! Esto funcionó, pero estoy bastante seguro de que "error" debería estar "apagado" o 0 (cero, sin comillas). También obtuve un archivo package.json para trabajar gracias a la referencia URL.
Stan
4

Para Visual Studio 2019.

ingrese la descripción de la imagen aquí

  1. Abrir Herramientas> Opciones
  2. Vaya a Editor de texto> JavaScript / TypeScript
  3. => Linting> General.

Luego, desmarque la casilla de verificación ESLint. Por favor, la imagen de abajo para referencia.

ingrese la descripción de la imagen aquí

Nilachal Sethi
fuente
3

Solo tuve que cambiar el comportamiento de la regla "eqeqeq" para incluir "inteligente":

Edite el archivo .eslintrc que se encuentra en la carpeta raíz del usuario mencionado en otras respuestas.

El cambio se realiza en la sección de reglas agregando la regla inteligente

    "rules": {

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

Copiado del artículo web: esta opción exige el uso de === y! == excepto en estos casos:

  1. Comparar dos valores literales
  2. Evaluar el valor de typeof
  3. Comparando contra nulo

Encontré los detalles en: https://eslint.org/docs/2.0.0/rules/eqeqeq

cjl
fuente
¡Gracias! Tuve que cerrar y volver a abrir Visual Studio para que el cambio surta efecto. Además, agregar el parámetro "inteligente" no parecía eliminar el error en todos los casos, sin embargo, eliminar la regla por completo hizo el truco.
zax
0

Probé la solución de Mohammad, pero sin suerte, seguí la respuesta de Rafeel y, en lugar de agregar su ejemplo de código sugerido, eliminé el siguiente código web .csprojy finalmente pude construir y ejecutar mi proyecto. Había dos lugares donde debería eliminar eso en el mismo archivo. Aún así, no tengo idea de cómo el código eliminado afectará mi solución.

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

Espero que esto también ayude a alguien a salvar el día ... !!!

SilentCoder
fuente