我不明白为什么会有插件和扩展。它们之间有什么区别,我是否需要一个?
答案 0 :(得分:7)
除了shmit的好答案:
extends
大约与extending configurations有关,而不仅仅是插件。可能的值为:
"eslint:recommended"
"eslint:all"
eslint-config-xxx
或作用域名称)中的可共享配置eslint-plugin-xxx
或作用域名称)中的插件配置"./my/path/.eslintrc.js"
Plugin notation:plugin:<package name>/<configuration name>
,例如为eslint-plugin-react
:
"extends": ["plugin:react/recommended"]
通过从插件配置扩展,我们可以获得建议的规则,而无需手动添加它们。
plugins
plugin是一个特殊的eslint npm程序包,它提供其他规则定义(rules
,environments
,processors
和configs
,以用于建议/默认规则值。
.eslintrc.js
中的plugins
属性仅仅是在使用npm i
安装后启用给定插件的标志。现在,我们可以参考插件的规则,但是必须手动设置所有rules
值。
答案 1 :(得分:4)
extends使用一个配置文件,当您将其添加到extends选项时,该文件将应用一组规则。另一方面,插件为您提供了一组规则,您可以根据需要单独应用这些规则。仅拥有插件不会强制执行任何规则。您必须选择所需的规则。 插件可以为您提供零个,一个或多个配置文件。如果插件提供了配置文件,则可以在“插件”部分中添加插件后,将其加载到扩展部分中。
因此,从本质上讲,插件为您提供了一些已为您编码的规则,您可以选择相关的规则。它还可以提供配置文件,以应用作者认为在逻辑上分组/相关的规则,但是提供配置文件对于插件来说不是强制性的。另一方面,扩展提供了根据配置文件规范批量应用规则的功能。
答案 2 :(得分:1)
因此,我们发现插件增加了额外的功能并进行了扩展,从而为您提供了添加自己的自定义规则的基准。感谢我的朋友奥利弗(Oliver)帮助我回答了这个问题!