Як відключити помилку збирання 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
Mohammad Dayyan

9
Помилка JavaScript не повинна перешкоджати створенню проекту MVC у Visual Studio
Mohammad Dayyan

Або зробіть свій код або відключити повідомлення про помилку яваскрипт - прочитати: stackoverflow.com/questions/2125455 / ...
Коби Douek

13
@Koby Douek: Це не моя проблема з кодом, я не хочу створювати помилки для файлу JavaScript у Visual Studio
Mohammad Dayyan

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
Rory McCrossan

3
швидка порада: текстове поле вгорі зліва на скріншоті можна легко використовувати для пошуку будь-яких налаштувань / параметрів!
Прашант Субраманій

6
У 15.8.0 це не вийшло точно так само - це приховано під пошуком, Linting>Generalяк eslintі раніше, це відображатиметься, але воно буде позначено як посилання. Дивіться відповідь @ Brad нижче.
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

Варіант 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

Дякую! Це спрацювало, але я впевнений, що "помилка" повинна бути "вимкнена" або 0 (нуль, без лапок). Я також отримав файл package.json для роботи завдяки посиланням на URL.
Стен

4

Для Visual Studio 2019.

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

  1. Відкрийте Інструменти> Параметри
  2. Перейдіть до текстового редактора> JavaScript / TypeScript
  3. => Обшивка> Загальне.

Потім зніміть прапорець ESLint. Будь ласка, наведені нижче зображення для довідки.

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


3

Мені просто довелося змінити поведінку правила "eqeqeq" на "розумний":

Відредагуйте .eslintrc файл, знайдений у вашій кореневій папці користувача, згаданому в інших відповідях.

Зміни вносяться до розділу правил , додаючи розумне правило

    "rules": {

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

Скопійовано з веб-статті: Цей параметр примушує використовувати === і! == за винятком цих випадків:

  1. Порівняння двох буквальних значень
  2. Оцінка значення typeof
  3. Порівняння проти нуля

Я знайшов специфіку за адресою: https://eslint.org/docs/2.0.0/rules/eqeqeq


Дякую! Мені довелося закрити та відкрити Visual Studio, щоб зміни вступили в силу. Крім того, додавання параметра "розумний", здавалося, не очистило помилку у всіх випадках, проте видалення правила взагалі зробило трюк.
zax

0

Я спробував рішення Мохаммеда, але не пощастило, я дотримувався відповіді Рафіеля і замість того, щоб додати запропонований зразок коду, я видалив нижче код 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.