Как отключить ошибку сборки JavaScript в Visual Studio 2017?

Я только что обновил Visual Studio 2017 с RC до финальной версии. У меня не было следующей ошибки, но недавно я получаю эту ошибку. При создании проекта я получаю следующую ошибку, которая мешает запуску веб-проекта:

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

Ошибка JavaScript

Как отключить ошибку построения JavaScript в Visual Studio 2017?


person Mohammad Dayyan    schedule 10.03.2017    source источник
comment
Это не моя проблема с кодом, я хочу использовать '==' вместо '===' в моем коде JavaScript.   -  person Mohammad Dayyan    schedule 10.03.2017
comment
Ошибка JavaScript не должна препятствовать созданию проекта MVC в Visual Studio   -  person Mohammad Dayyan    schedule 10.03.2017
comment
Либо поделитесь своим кодом, либо отключите сообщение об ошибке javascript - прочтите это: stackoverflow.com/questions/2125455/   -  person Koby Douek    schedule 10.03.2017
comment
В Visual Studio 2017 нет Show syntax errors в меню Инструменты ›Параметры   -  person Mohammad Dayyan    schedule 10.03.2017
comment
@Koby Douek: Это не моя проблема с кодом, я не хочу создавать ошибку для файла JavaScript в Visual Studio   -  person Mohammad Dayyan    schedule 10.03.2017
comment
Мне было бы особенно интересно отключить эту конкретную ошибку. == является таким же допустимым оператором сравнения, как '==='. Для меня это не мешает мне строить, это просто загромождает список ошибок, когда у меня появляется другая ошибка в моем серверном коде.   -  person xr280xr    schedule 28.09.2017
comment
а как насчет наоборот? Мне нужны ошибки сборки на основе правил ESLint, как я могу это настроить?   -  person anatol    schedule 09.06.2019


Ответы (7)


Думаю, найду решение:

  1. Открыть Tools > Options
  2. Перейдите к Text Editor > JavaScript/TypeScript > EsLint (в VS2017 15.8 это Linting, а не EsLint)
  3. Установите Enable ESLint на False

«Отключить

Visual Studio> = 15.8.5  Отключить ESlint Visual Studio 15.8.5

person Mohammad Dayyan    schedule 10.03.2017
comment
Работал у меня в VS2017 - person Rory McCrossan; 01.09.2017
comment
Подсказка: текстовое поле в верхнем левом углу на скриншоте можно использовать для легкого поиска любого параметра / параметра! - person Prashanth Subramanian; 23.01.2018
comment
Это не совсем так в 15.8.0 - оно скрыто под Linting>General. Поиск eslint все равно вызовет его, но будет помечен как линтинг. См. Ответ @Brad ниже. - person ahwm; 20.08.2018
comment
Эта функция автоматически начала работать после обновления до VS 2017 15.8.1. Пришлось снова выключить вручную. - person Piero Alberto; 21.08.2018
comment
Спасибо! Это меня бесило. Для версии 15.8.5 сейчас просто галочка. - person Sterling Diaz; 09.10.2018

В Visual Studio 2017 (версия 15.8.0):

Вариант 1. Параметры ›Ошибки JS

  1. Открыть Tools > Options
  2. Перейдите к Text Editor > JavaScript/TypeScript > Code Validation
  3. Установите Enable JavaScript errors на false
  4. или установите Enable JavaScript errors на true и Show errors as warnings на true

Мне нужно было перезапустить Visual Studio, чтобы это вступило в силу.

«Параметры›

Вариант 2. Параметры ›Линтинг

Ниже есть еще один вариант, который позволит вам редактировать глобальные настройки линтинга:

Параметры› JS Linting

Вариант 3: файл .eslint

Вы также можете создать файл с именем .eslintrc в корне вашего проекта.

Вариант 4: команды ESLint в файле

См. ответ @ user9153924


Ресурсы

person Brad    schedule 17.08.2018

Я попробовал решение Мохаммеда, но оно не сработало. Мне удалось поработать следующим образом:

  1. Щелкните правой кнопкой мыши файл .csproj в Интернете.
  2. На первом <PropertyGroup> добавьте следующую запись: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
person Rafael dos Santos    schedule 07.04.2017
comment
Думаю, вы пропустили пару шагов. Вы имели в виду щелкнуть правой кнопкой мыши свой веб-.csproj, выгрузить проект, щелкнуть правой кнопкой мыши еще раз, отредактировать? - person xr280xr; 28.09.2017

Добавьте /*eslint eqeqeq: ["error", "smart"]*/ в первую строку вашего кода Javascript, чтобы удалить ошибки. https://eslint.org/docs/rules/eqeqeq

Следуя решению Мохаммада, ESLint отключится для проверки синтаксиса. Это работает в VS2015 и должно работать в более поздних версиях.

person user9153924    schedule 29.12.2017
comment
Идеально и не выкидывает ребенка вместе с водой из ванны - person ShrapNull; 08.04.2018
comment
Спасибо! Это сработало, но я почти уверен, что ошибка должна быть отключена или 0 (ноль, без кавычек). У меня также есть файл package.json для работы благодаря ссылке на URL. - person Stan; 20.05.2018

Для Visual Studio 2019.

введите здесь описание изображения

  1. Откройте Инструменты> Параметры
  2. Перейдите в Текстовый редактор> JavaScript / TypeScript.
  3. => Линтинг> Общие.

Затем снимите флажок ESLint. Пожалуйста, изображение ниже для справки.

введите здесь описание изображения

person Nilachal Sethi    schedule 27.05.2019

Мне только что пришлось изменить поведение правила eqeqeq, включив в него «smart»:

Отредактируйте файл .eslintrc, найденный в корневой папке вашего пользователя, уже упомянутый в других ответах.

В раздел правила вносятся изменения путем добавления умного правила.

    "rules": {

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

Скопировано из веб-статьи: Этот параметр требует использования === и! ==, за исключением следующих случаев:

  1. Сравнение двух буквальных значений
  2. Оценка значения typeof
  3. Сравнение с нулем

Я нашел подробности по адресу: https://eslint.org/docs/2.0.0/rules/eqeqeq

person cjl    schedule 31.10.2018
comment
Спасибо! Мне пришлось закрыть и снова открыть Visual Studio, чтобы изменения вступили в силу. Кроме того, добавление интеллектуального параметра, похоже, не устраняет ошибку во всех случаях, однако полное удаление правила помогло. - person zax; 22.02.2020

Я попробовал решение Mohammad, но безуспешно, я последовал за ответом Rafeel и вместо того, чтобы добавить его предлагаемый образец кода, я удалил приведенный ниже код из web .csproj, и, наконец, я смог построить и запустить свой проект. Вы должны удалить это в двух местах в одном файле. Тем не менее, я понятия не имею, как удаленный код повлияет на мое решение.

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

Надеюсь, это также поможет кому-то спасти положение .. !!!

person SilentCoder    schedule 13.12.2017