如何修复或摆脱ASP.NET Razor应用程序中的ESLint定义要求?

时间:2018-09-09 18:24:47

标签: javascript c# asp.net razor eslint

我刚刚将ASP.NET Core 2.0 Razor应用程序升级到2.1,以获得EF Core 2.1的新功能。这是我在ASP.NET中的第一个主要项目,来自WinForms和PHP。

我正在尝试检查并清除错误列表,但是我遇到了ESLint错误,并且我之前从未使用过ESLint,所以我不知道从哪里开始。 Google在这个问题上也不太有用。

以下是警告:

Warning react/jsx-sort-prop-types   (ESLint) Definition for rule 'react/jsx-sort-prop-types' was not found
Warning react/wrap-multilines   (ESLint) Definition for rule 'react/wrap-multilines' was not found
Warning react/require-extension (ESLint) Definition for rule 'react/require-extension' was not found

我什至不知道这些是什么意思,谷歌搜索它们并不会启发我,并且它们似乎没有指向特定的代码行。

这些警告到底想告诉我什么?

2 个答案:

答案 0 :(得分:7)

如果您正在使用ESLint,并且不想将代码添加到所有文件中,则可以禁用ESLint配置文件中的三个规则。实际上有两种方法可以做到这一点。

很长的路要走,找到位于c:\ Users {username} .eslintrc的配置文件。您可以使用文本编辑器将其打开,找到规则并将其值设置为0(零),这意味着已禁用。例如:

"react/jsx-sort-prop-types": 0,

较短的方法是转到“工具/选项/文本编辑器/'JavaScript / TypeScript'/ Linting /常规”。在该页面上是“重置全局.eslintrc”按钮。如果单击,则会获得.eslintrc配置文件的较新版本,假定您使用的是Visual Studio的最新版本,则根本不包含这些规则。

无论使用哪种方法,都需要重新启动Visual Studio,然后错误将消失。

我认为出现此问题是因为您(和我)拥有该文件的旧版本(.eslintrc),其中包含ESLint for Visual Studio附带的React插件不支持或不再适用的规则。我在没有安装npm模块并且绝对没有React的项目中遇到这些错误。我认为升级到Visual Studio可能不会覆盖此文件,以防万一您更改了它。

也可以将.eslintrc文件放入您的项目文件夹中,它将覆盖默认位置的设置。因此,对于在多个计算机上都遇到此问题的企业项目,您只需检入一个已修复该问题的.eslintrc。但是,如果您在新计算机上全新安装Visual Studio,我认为您不会看到此问题,因此我不确定是否有必要。

我使用Visual Studio 2017 15.8.1对此进行了测试。 ESLint得到了很大的upgrade in 15.8

答案 1 :(得分:2)

如果您想继续使用EsLint(这很好),则可以在.js文件的开头禁用并重新启用EsLint,以避免出现这些警告,并且仍然可以对文件的其余部分进行EsLint检查:

/ *禁用eslint * /

/ *启用eslint * /

对于不受控的文件,例如jquery.js,bootstrap.js等,您可以在文件开头完全使用以下行禁用:

/ *禁用eslint * /

您只需要记住在更新它们之后再次添加此行。