如何在Visual Studio 2017中禁用JavaScript构建错误?


161

我刚刚将Visual Studio 2017从RC更新到了最终版本。我没有收到以下错误,但最近我收到了此错误。在构建项目时,出现以下错误,它阻止了Web项目启动:

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

JavaScript错误

如何在Visual Studio 2017中禁用JavaScript构建错误?


27
这不是我的代码问题,我想在我的JavaScript代码中使用'=='而不是'==='
Mohammad Dayyan

9
JavaScript错误不应该阻止在Visual Studio中构建MVC项目
Mohammad Dayyan

: -要么分享您的代码,或者禁用JavaScript错误消息阅读本stackoverflow.com/questions/2125455/...
Koby Douek

13
@Koby Douek:这不是我的代码的问题,我不想生成错误在Visual Studio中的JavaScript文件
穆罕默德伍仕贤

3
我将特别有兴趣禁用此特定错误。==与'==='一样有效的比较运算符。对我来说,这并不能阻止我进行构建,而当我的服务器代码中出现另一个错误时,它只会使错误列表变得混乱。
xr280xr

Answers:


298

我认为,找到解决方案:

  1. 打开 Tools > Options
  2. 导航到Text Editor > JavaScript/TypeScript > EsLint(在VS2017 15.8中它Linting不是EsLint
  3. 设置Enable ESLintFalse

禁用ESlint

Visual Studio> = 15.8.5 禁用ESlint Visual Studio 15.8.5


2
在VS2017为我工作
Rory McCrossan'9

3
快速提示:屏幕快照左上方的文本框可用于轻松搜索任何设置/选项!
Prashanth Subramanian

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 errorsfalse
  4. 或者,设置Enable JavaScript errorstrueShow errors as warningstrue

我需要重新启动Visual Studio才能生效。

选项> JS错误

选项2:选项>整理

下面还有另一个选项,可让您编辑全局毛发设置:

选项> JS Linting

选项3:.eslint文件

您也可以.eslintrc在项目的根目录中创建一个名为的文件。

选项4:ESLint命令在文件中

参见@ user9153924的答案


资源资源


15

我尝试了Mohammad的解决方案,但是没有用。我设法做到以下几点:

  1. 右键单击您的Web .csproj文件
  2. 在第一个上<PropertyGroup>添加以下条目: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

4
我想您错过了那里的几个步骤。您是说右键单击Web .csproj,卸载项目,再次右键单击它,进行编辑吗?
xr280xr

11

添加/*eslint eqeqeq: ["error", "smart"]*/到Javascript代码的第一行以删除错误。 https://eslint.org/docs/rules/eqeqeq

按照Mohammad的解决方案,将关闭ESLint进行语法检查。这在VS2015中有效,并且应该在更高版本中有效。


完美且不会把婴儿和洗澡水一起
丢掉

谢谢!这有效,但是我很确定“错误”应该为“关闭”或0(零,无引号)。由于有了URL参考,我也有了package.json文件。
斯坦(Stan)

4

对于Visual Studio 2019。

在此处输入图片说明

  1. 打开工具>选项
  2. 导航到文本编辑器> JavaScript / TypeScript
  3. =>整理>一般。

然后取消选中ESLint复选框。请风箱图片供参考。

在此处输入图片说明


3

我只需要将“ eqeqeq”规则行为更改为包括“ smart”:

编辑已经在其他答案中提到的用户根文件夹中找到的.eslintrc文件。

通过添加智能规则来对规则部分进行更改

    "rules": {

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

从网络文章中复制: 此选项强制使用===和!==,以下情况除外:

  1. 比较两个文字值
  2. 评估typeof的值
  3. 与null比较

我在以下网址找到了详细信息:https : //eslint.org/docs/2.0.0/rules/eqeqeq


谢谢!我必须关闭并重新打开Visual Studio才能使更改生效。另外,添加“ smart”参数似乎并不能在所有情况下都清除错误,但是完全删除规则可以解决问题。
zax

0

我尝试了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')" />

希望这也能帮助某人节省一天的时间.. !!!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.