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

161

Я только что обновил 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?

Мохаммад Даян
источник
27
Это не моя проблема с кодом, я хочу использовать «==» вместо «===» в своем коде JavaScript
Мохаммад Даян
9
Ошибка JavaScript не должна помешать созданию проекта MVC в Visual Studio
Мохаммад Даян
Либо поделитесь своим кодом, либо отключите сообщение об ошибке javascript - прочитайте это: stackoverflow.com/questions/2125455/…
Коби Доук,
13
@Koby Douek: Это не моя проблема с кодом, я не хочу создавать ошибку для файла JavaScript в Visual Studio
Мохаммад Даян,
3
Мне было бы особенно интересно отключить эту конкретную ошибку. ==такой же оператор сравнения, как и "===". Для меня это не мешает мне строить, просто загромождает список ошибок, когда в коде моего сервера появляется другая ошибка.
xr280xr

Ответы:

298

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

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

Отключить ESlint

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

Мохаммад Даян
источник
2
Я работал в VS2017
Рори МакКроссан
3
Быстрый совет: текстовое поле в левом верхнем углу на скриншоте можно использовать для поиска любой настройки / опции легко!
Прашант Субраманян
6
Это не совсем сработало в 15.8.0 - оно будет скрыто в разделе « Linting>GeneralПоиск» eslint, но все равно будет отображаться, но будет помечено как linting. Смотрите ответ @ Брэда ниже.
ahwm
1
Эта функция автоматически начала работать после обновления до VS 2017 15.8.1. Мне пришлось снова выключить его вручную.
Пьеро Альберто
1
Спасибо! Это меня бесило. Для версии 15.8.5 это просто флажок.
Стерлинг Диас
39

В Visual Studio 2017 (v 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, чтобы это вступило в силу.

Параметры> Ошибки JS

Вариант 2: Параметры> Линтинг

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

Функции> JS Linting

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

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

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

Посмотреть ответ @ user9153924


Ресурсы

штифтик
источник
15

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

  1. Правый клик на вашем веб-файле .csproj
  2. В первую очередь <PropertyGroup>добавьте следующую запись: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Рафаэль душ Сантуш
источник
4
Я думаю, что вы пропустили пару шагов там. Вы имели в виду щелчок правой кнопкой мыши на веб-файле .csproj, выгрузку проекта, повторный щелчок правой кнопкой мыши по нему, редактирование?
xr280xr
11

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

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

user9153924
источник
Идеально и не выбрасывает ребенка с водой из ванны
ShrapNull
Спасибо! Это сработало, но я уверен, что «error» должен быть «off» или 0 (ноль, без кавычек). Я также получил файл package.json для работы благодаря URL-ссылке.
Стэн
4

Для Visual Studio 2019.

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

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

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

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

Нилачал Сетхи
источник
3

Мне просто нужно было изменить поведение правила "eqeqeq", чтобы включить "smart":

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

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

    "rules": {

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

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

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

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

CJL
источник
Спасибо! Мне пришлось закрыть и снова открыть Visual Studio, чтобы изменения вступили в силу. Кроме того, добавление параметра «smart», похоже, не устраняло ошибку во всех случаях, однако удаление правила в целом помогло.
Zax
0

Я попробовал решение Мухаммеда, но безуспешно, я последовал ответу 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')" />

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

SilentCoder
источник