Javascript 什么';eslint中插件和扩展的区别是什么?

Javascript 什么';eslint中插件和扩展的区别是什么?,javascript,eslint,Javascript,Eslint,我不明白为什么我们有插件和扩展。它们之间有什么区别?我需要一个还是另一个 因此,我们发现插件添加了额外的功能,扩展为您提供了添加自定义规则的基线。感谢我的朋友奥利弗帮我回答这个问题 extends使用一个配置文件,当您将该文件添加到extends选项时,该文件将应用一组规则。另一方面,插件为您提供了一组规则,您可以根据需要单独应用这些规则。仅仅拥有一个插件并不强制执行任何规则。你必须选择你需要的规则。 插件可能为您提供零个、一个或多个配置文件。如果插件提供配置文件,那么在插件部分添加插件后,可以

我不明白为什么我们有插件和扩展。它们之间有什么区别?我需要一个还是另一个

因此,我们发现插件添加了额外的功能,扩展为您提供了添加自定义规则的基线。感谢我的朋友奥利弗帮我回答这个问题

extends使用一个配置文件,当您将该文件添加到extends选项时,该文件将应用一组规则。另一方面,插件为您提供了一组规则,您可以根据需要单独应用这些规则。仅仅拥有一个插件并不强制执行任何规则。你必须选择你需要的规则。
插件可能为您提供零个、一个或多个配置文件。如果插件提供配置文件,那么在插件部分添加插件后,可以在扩展部分加载该文件

所以本质上,插件给了你一些已经编码的规则,你可以选择哪些是相关的。它还可以提供配置文件,以应用作者认为在逻辑上分组/相关的规则,但对于插件来说,提供配置文件不是必需的。另一方面,extends提供了基于配置文件规范批量应用规则的能力

示例插件-:
“插件”:[
“反应”
],
“扩展”:[
“eslint:推荐”,
“插件:反应/推荐”
]
示例配置-:
“扩展”:[
“谷歌”
]

祝你好运…

除了shmit的好答案之外:

扩展
一般来说,不仅仅是插件。潜在价值为:

  • “eslint:推荐”
  • “eslint:all”
  • npm包中的可共享配置(
    eslint config xxx
    或作用域名称)
  • npm包中的插件配置(
    eslint Plugin xxx
    或作用域名称)
  • 另一个配置文件,如
    “/my/path/.eslintrc.js”
插件:/
,例如:

通过扩展插件配置,我们可以获得推荐的规则,而无需手动添加它们

插件
A是一个特殊的eslint npm包,它提供了额外的规则定义(
规则
)、
环境
处理器
为建议/默认规则值的不同配置配置

.eslintrc.js
中的属性只是一个标志,用于在安装
npmi
后启用给定插件。我们现在可以参考插件的规则,但必须手动设置所有
规则

想一想
插件
是激活插件的一种方式-要使用它的规则,你需要在每种情况下在链中添加一次插件

插件
在您自己的配置中不需要,如果它已经在配置中定义,您可以通过
扩展

例如:


已包含
插件:['react']
,因此在自己的配置中不再需要此项,可以直接使用插件规则。

如果扩展配置,并且它具有规则-a,则将在我的配置中自动启用。如果我使用插件,我必须在“我的规则”部分中从该插件中显式启用规则b。值得注意的是,如果您使用的插件也提供了配置,您必须
显式扩展它,如果您也想使用它。“在插件部分添加插件后。”-确定吗?我只是使用了
extends:['plugin:react/recommended']
而没有将它添加到
plugins:[]
部分。我认为这并不能完全回答这个问题,这就是为什么在这个主题上有一个后续问题:要清楚,如果你使用
extends
属性,你就不必使用
plugins
属性。但是如果您想设置自定义规则,那么您应该使用
插件
属性。是否正确?要使用某个插件的规则,在任何情况下都需要在
plugins
下提及该插件(将
plugins
视为激活插件的一种方式)。虽然您不需要在自己的配置中使用
插件
,但如果它已经在配置中定义,则可以通过
扩展
。请参阅上面的
eslint plugin react
插件示例,该示例已经包含
插件:['react'],
@ford04最佳答案!谢谢,伙计。如果我
npm安装了eslint插件react
并希望在我自己的
eslintrc.js
中使用它的配置,我必须首先定义
插件:['react']
,然后
扩展:['plugin:react/recommended']
-所以我确实需要在我自己的配置中声明的插件。您是否描述了一个更具体的案例:如果我扩展了另一个本身使用
eslint-plugin-react
-的插件,即:
eslint-plugin使用react
,我就不需要在自己的配置中激活react插件,因为我已经有
插件:[plugin using-react]
扩展:[插件:在我的配置中使用react/推荐]
 "extends": ["plugin:react/recommended"]