插件和eslint扩展之间有什么区别?

时间:2018-11-07 12:09:08

标签: javascript eslint

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

3 个答案:

答案 0 :(得分:7)

除了shmit的好答案:

extends

大约与extending configurations有关,而不仅仅是插件。可能的值为:

  • "eslint:recommended"
  • "eslint:all"
  • npm软件包(eslint-config-xxx或作用域名称)中的可共享配置
  • npm软件包(eslint-plugin-xxx或作用域名称)中的插件配置
  • 另一个配置文件,例如"./my/path/.eslintrc.js"

Plugin notationplugin:<package name>/<configuration name>,例如为eslint-plugin-react

 "extends": ["plugin:react/recommended"]

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

plugins

plugin是一个特殊的eslint npm程序包,它提供其他规则定义(rulesenvironmentsprocessorsconfigs,以用于建议/默认规则值。

.eslintrc.js中的plugins 属性仅仅是在使用npm i安装后启用给定插件的标志。现在,我们可以参考插件的规则,但是必须手动设置所有rules值。

答案 1 :(得分:4)

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

因此,从本质上讲,插件为您提供了一些已为您编码的规则,您可以选择相关的规则。它还可以提供配置文件,以应用作者认为在逻辑上分组/相关的规则,但是提供配置文件对于插件来说不是强制性的。另一方面,扩展提供了根据配置文件规范批量应用规则的功能。

答案 2 :(得分:1)

因此,我们发现插件增加了额外的功能并进行了扩展,从而为您提供了添加自己的自定义规则的基准。感谢我的朋友奥利弗(Oliver)帮助我回答了这个问题!