【问题标题】:How to disable JavaScript build error in Visual Studio 2017?如何在 Visual Studio 2017 中禁用 JavaScript 构建错误?
【发布时间】: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

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

【问题讨论】:

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

标签: javascript visual-studio visual-studio-2017 eslint


【解决方案1】:

我想,找到解决办法:

  1. 打开Tools > Options
  2. 导航到Text Editor > JavaScript/TypeScript > EsLint(在VS2017 15.8中是Linting而不是EsLint
  3. 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 错误

  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 才能使其生效。

选项 2:选项 > Linting

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

选项 3:.eslint 文件

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

选项 4:文件中的 ESLint 命令

See @user9153924's answer


资源

【讨论】:

    【解决方案3】:

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

    1. 右键单击您的 web .csproj 文件
    2. 在第一个 <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。

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

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

    【讨论】:

      【解决方案6】:

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

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

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

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

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

      1. 比较两个文字值
      2. 评估 typeof 的值
      3. 与 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')" />
      

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

      【讨论】:

        猜你喜欢
        • 2017-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-11
        • 2018-03-03
        • 1970-01-01
        相关资源
        最近更新 更多