Javascript 什么';eslint、eslint插件和eslint配置之间的区别是什么?

Javascript 什么';eslint、eslint插件和eslint配置之间的区别是什么?,javascript,ecmascript-6,eslint,code-formatting,prettier,Javascript,Ecmascript 6,Eslint,Code Formatting,Prettier,我想将Prettier和ESLint一起使用,但我只是一个接一个地使用它们,就遇到了一些冲突。我看到有三个软件包似乎允许它们同时使用: 更漂亮的eslint eslint插件更漂亮 eslint config prettier 但是,我不确定使用哪个,因为这些包名称都包含eslint和prettier 我应该使用哪一种?ESLint包含许多规则,与格式相关的规则可能与Prettier冲突,例如箭头参数,函数参数前的空格,等等。因此,将它们一起使用会导致一些问题。已经创建了以下工具来同时使用E

我想将Prettier和ESLint一起使用,但我只是一个接一个地使用它们,就遇到了一些冲突。我看到有三个软件包似乎允许它们同时使用:

  • 更漂亮的eslint
  • eslint插件更漂亮
  • eslint config prettier
但是,我不确定使用哪个,因为这些包名称都包含
eslint
prettier


我应该使用哪一种?

ESLint包含许多规则,与格式相关的规则可能与Prettier冲突,例如
箭头参数
函数参数前的空格
,等等。因此,将它们一起使用会导致一些问题。已经创建了以下工具来同时使用ESLint和Prettier

因为堆栈溢出不支持表格式,所以我在一篇摘要中写了一篇文章。如果您更喜欢组织,请查看

:运行
prettier
然后对代码运行
eslint--fix
eslint
通常会自动修复格式化相关规则,而
eslint--fix
将能够修复Prettier引入的冲突格式。您不需要单独运行
prettier
命令

:这是一个ESLint插件,意味着它包含ESLint将检查的其他规则的实现。这个插件在引擎盖下使用了Prettier,当您的代码与Prettier的预期输出不同时,它会引发问题。这些问题可以通过
--fix
自动解决。使用此插件,您不需要单独运行
prettier
命令,该命令是作为插件的一部分运行的。此插件不会关闭与格式化相关的规则,如果手动或通过
eslint config prettier
发现此类规则存在冲突,则需要关闭这些规则

:这是一个ESLint配置,它包含规则的配置(无论某些规则是打开、关闭还是特殊配置)。此配置允许您通过关闭可能与Prettier冲突的格式化相关规则,将Prettier与其他ESLint配置一起使用。使用此配置,您不需要使用
prettier eslint
,因为在prettier格式化代码后,eslint不会抱怨。但是,您需要单独运行
prettier
命令

希望这能总结出不同之处


更新:建议让Prettier处理非格式化问题的格式化和ESLint,
Prettier ESLint
与该做法的方向不同,因此不再建议使用
Prettier ESLint
。您可以同时使用
eslint插件prettier
eslint config prettier

我有一个eslintrc文件,其中有自定义规则。i、 e没有额外的分号但是运行eslint——使用prettier修复需要分号,我需要为prettier单独设置一个规则文件吗?只是对eslint插件和配置之间的一般区别的评论,因为我觉得这是我缺少的:插件定义新的eslint规则,配置是否设置(以及如何设置)应该应用规则。使用
eslint config prettier
,我们为什么需要运行prettier?难道不是
eslint--
以更漂亮的方式修改代码格式吗?现在是2019年,这仍然是我发现的最好的解释,比官方解释要好得多。您可能会补充说,不再推荐更漂亮的eslint。后两种方法现在可以一起使用了。@Yanghuttay我只是好奇,谁推荐这种做法?