(ESLint)找不到规则“react/jsx-sort-prop-types”的定义。

20

我刚刚更新了我的VS 2017(版本15.8.2)。现在当我打开任何.js文件时,都会在文件的第一行上看到一个红色的波浪线...这是警告消息:

未找到规则“react / jsx-sort-prop-types”的定义

输入图像描述

当我将鼠标悬停在波浪线上时:

输入图像描述

我不确定为什么突然出现了这么多.js错误?

2个回答

30

ESLint(一种JS代码分析器)从15.8版本开始默认在VS 2017中启用:

ESLint支持:此版本中重新实现了ESLint支持。因此,Visual Studio现在将在您编辑时对JavaScript文件进行lint。ESLint已默认更新为使用ESLint 4,但如果您的项目有本地安装的ESLint,则会使用该版本。您可以在“工具/选项”对话框中取消选中下面位置中的“启用ESLint”设置来全局禁用ESLint。

如果您想使用ESLint编码指南,则只需重置全局.eslintrc文件即可。在VS中转到:

工具>选项>文本编辑器>JavaScript/TypeScript> Linting

然后点击重置全局.eslintrc按钮:

enter image description here

重置 .eslintrc 可以修复您的设置文件(它会导入 react 插件)。
请注意,与 VS 一起提供的默认插件是 react plugin这并不意味着您正在使用 react.js,而是意味着您正在使用 react 编码准则。
还要注意,上述步骤将 react 插件导入设置,并正确设置了 ESLint,但您可能仍然会遇到很多 .js 样式错误,因为您可能没有遵循 react 编码准则或者您在项目中包含的一些 .js 库未遵循该准则(如果 .js 文件未在 VS 中打开,则可能不会出现 linting 错误,打开一些 .js 文件并重新编译以获取 linting 错误)。
例如,我在 jquery.validate.js 上遇到了一些样式错误。您可能不想更改 jquery.validate.js 代码,请参阅 this question 以配置 ESLint 忽略某些 .js 文件。

如果您不想对项目进行所有修改,可以像上图所示禁用ESLint。

如果您想使用其他插件,这是预定义插件的完整列表


4
好的,但为什么每个 JavaScript 文件都显示与 React 相关的问题?我的项目没有使用 React。我从未碰过它。应该能够使用 ESLint 而不会看到这样无用的消息。 - Valuator
@Valuator,说得好。我已经更新了我的答案...请注意,react表示您正在使用React编码指南...这并不意味着您正在使用React.js。 - Hooman Bahreini
1
看起来VS实现不支持这些定义,我刚刚打开了.eslintrc文件,向下滚动并将在VS消息框中显示的规则设置为0,关闭并重新打开VS,错误就停止了。 例子:"react/jsx-sort-prop-types": 0 - user511941

12

这意味着 ESLint 与 .eslintrc 文件中的配置不匹配。

点击“重置全局 .eslintrc”按钮将解决此问题。这会将您的 .eslintrc 文件重置为与 VS 上安装的 ESLint 所需的配置相匹配。

输入图像描述


2
对于那些正在寻找路径的人:在Visual Studio顶部菜单中,依次选择“工具”>“选项”>“文本编辑器”>“JavaScript / TypeScript”>“Linting”>“常规”。 - Muhammad Musavi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接