Как отключить ошибку сборки 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 и должно работать в более поздних версиях.


Идеально и не выбрасывает ребенка с водой из ванны
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


Спасибо! Мне пришлось закрыть и снова открыть 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')" />

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.