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

Posted

技术标签:

【中文标题】如何在 Visual Studio 2017 中禁用 JavaScript 构建错误?【英文标题】:How to disable JavaScript build error in Visual Studio 2017? 【发布时间】:2017-08-01 04:16:30 【问题描述】:

我刚刚将 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 代码中使用 '==' 而不是 '===' JavaScript 错误不应阻止在 Visual Studio 中构建 MVC 项目 分享您的代码,或禁用 javascript 错误消息 - 请阅读:***.com/questions/2125455/… @Koby Douek:这不是我的代码问题,我不想在 Visual Studio 中为 JavaScript 文件构建错误 我对禁用此特定错误特别感兴趣。 == 与 '===' 一样是有效的比较运算符。对我来说,它不会阻止我构建,它只会在我的服务器代码中出现另一个错误时弄乱错误列表。 【参考方案1】:

我想,找到解决办法:

    打开Tools > Options 导航到Text Editor > JavaScript/TypeScript > EsLint(在VS2017 15.8中是Linting而不是EsLint) 将Enable ESLint 设置为False

Visual Studio >= 15.8.5

【讨论】:

在 VS2017 中为我工作 快速提示:屏幕截图左上角的文本框可用于轻松搜索任何设置/选项! 这在 15.8.0 中的工作方式并不完全相同 - 它隐藏在 Linting>General 下搜索 eslint 仍然会显示它,但它会被标记为 linting。请参阅下面@Brad 的回答。 此功能在更新到 VS 2017 15.8.1 后自动开始工作。我不得不再次手动将其关闭。 谢谢!那让我很生气。对于版本 15.8.5 现在只是一个复选框。【参考方案2】:

在 Visual Studio 2017 (v 15.8.0) 中:

选项 1:选项 > JS 错误

    打开Tools > Options 导航到Text Editor > JavaScript/TypeScript > Code ValidationEnable JavaScript errors 设置为false 或者,将Enable JavaScript errors 设置为true 并将Show errors as warnings 设置为true

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

选项 2:选项 > Linting

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

选项 3:.eslint 文件

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

选项 4:文件中的 ESLint 命令

See @user9153924's answer


资源

ESLint file syntax ESLint Rules

【讨论】:

【参考方案3】:

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

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

【讨论】:

我想你错过了几个步骤。您的意思是右键单击您的 web .csproj,卸载项目,再次右键单击它,编辑?【参考方案4】:

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

遵循 Mohammad 的解决方案将关闭 ESLint 进行语法检查。这适用于 VS2015,应该适用于更高版本。

【讨论】:

完美,不会把宝宝和洗澡水一起扔出去 谢谢!这行得通,但我很确定“错误”应该是“关闭”或 0(零,没有引号)。由于 URL 参考,我还得到了一个 package.json 文件。【参考方案5】:

适用于 Visual Studio 2019。

    打开工具 > 选项 导航到文本编辑器 > JavaScript/TypeScript => Linting > 一般。

然后取消选中 ESLint 复选框。 请参考下面的图片。

【讨论】:

【参考方案6】:

我只需要更改 "eqeqeq" 规则行为以包含“smart”:

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

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

    "rules": 

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

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

    比较两个文字值 评估 typeof 的值 与 null 比较

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

【讨论】:

谢谢!我必须关闭并重新打开 Visual Studio 才能使更改生效。此外,添加“smart”参数似乎并不能在所有情况下都清除错误,但是完全删除规则就可以了。【参考方案7】:

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

希望这也能帮助某人挽救这一天..!!!

【讨论】:

以上是关于如何在 Visual Studio 2017 中禁用 JavaScript 构建错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013

如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建

无法找到visual studio 2017生成工具

visual studio 2017 如何下载和安装

如何在 Visual Studio 2017 中创建 Visual c++ MFC 控制台项目

如何在 Visual Studio 2017 中启用 WiX 项目