如何在 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 Validation
将Enable 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 构建