关于eslint

关于eslint

图1
图片描述

图2

图片描述

  1. 为什么图1的配置不行,不是已经在prettier的rc配置文件里面关掉了singleQuote吗?eslint-plugin-prettier添加的规则难道不是根据.prettierrc.json配置文件动态生成的,它添加的是一些已经写死的一些prettier配置项?

图片描述

  1. plugins 和 extends 选项的区别?

  2. eslint rc配置文件的插件名称使用貌似有点混乱,有的 plugin:<plugin-name>/xxx 这样写,有的直接 <plugin-name> (比如上面的 plugins:["prettier"]),再比如 eslint-config-prettier 这个config放在extends里又可以直接写为 prettier (这config规则是我猜的是这样的不知道对不对,没在官方文档找到对应的这部分的说明,只有plugin有提到),老师能帮忙理一理吗? 还有这个放在extends里的 eslint:recommended 又是哪门子的命名方式,代表是eslint官方的?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

关于插件名称可以在eslint官网找到对应的答案:

https://img1.sycdn.imooc.com//climg/64c3c82509d6e98618582054.jpg

最好的老师就是官网:https://zh-hans.eslint.org/docs/latest

自己解决问题,自己也会发现一些新大陆。

  • demonCry 提问者 #1

    是的,这一段我也注意到了,实际上我在上面的提问里就引入了该段的英文链接。


    但实际情况下它的命名规则比这段表述的要复杂多了


    比如你插件既可以放在extends里又可以放在plugins里

    放在extends里有的时候带前缀`plugin:`(比如eslint-plugin-xxx)

    有的又不带,比入 eslint-config-xxx


    然后它的extends里就可以出现 `extends:["plugin:prettier/xxx","prettier"]` 这种混乱的情况。。。


    So不带前缀的都是eslint-config-xxx, 

    带 `plugin:` 前缀的或者说放在 `"plugins"` 配置项里的都是 eslint-plugin-xxx


    然后它extends时如果是 `eslint:xxx` ,表示继承的是eslint这个库内部本身提供的一些规则


    然后 eslint-plugin-xxx 既能放在 `"extends"` 里 又能放在 `"plugins"` 里,

    但eslint-config-xxx 和 自己在本工程里自己写的eslint配置 应该只能放在 "extends" 里对吧

    2023-07-30 22:38:10
  • Brian 回复 提问者 demonCry #2

    然后 eslint-plugin-xxx 既能放在 `"extends"` 里 又能放在 `"plugins"` 里,

    但eslint-config-xxx 和 自己在本工程里自己写的eslint配置 应该只能放在 "extends" 里对吧

    ——这个可以看该插件的官方README来决定,不用纠结ESLint官方是如何约定的。

    2023-07-31 12:46:38
  • demonCry 提问者 回复 Brian #3

    也对!用的时候直接看插件提供方的demo。。。但eslint这命名规范让我头疼,想说俩嘴不然记不住,哈哈哈

    2023-08-01 19:16:09
Brian 2023-07-28 21:47:26

1. 第一个配置中的 quotes: "error" 规则并没有生效的原因是因为 plugin:prettier/recommended 配置包含了 Prettier 插件的规则,并且该插件自动开启了 Prettier 的规则,包括对引号的处理。因此,quotes: "error" 这个规则被 Prettier 的规则所覆盖了


在第二个配置中,将 prettier/prettier 规则设置为 "off",这样 ESLint 就不会再应用 Prettier 的规则,这样 quotes: "error" 规则才会生效,并且会对引号进行检查。


.prettierrc.json 与 eslint的配置文件是两个东西,别把这两个搞混了。


2. 区别:plugin 用于引入第三方插件,增加新的规则和功能。 extends 允许你继承已有的规则配置,避免重复配置相同或类似的规则。


3. 比如 eslint-config-prettier 这个config放在extends里又可以直接写为 prettier

 ——是的,你的理解正确:

https://img1.sycdn.imooc.com//climg/64c3c5ef09011c2f18481148.jpg

  • 提问者 demonCry #1

    第一个配置中的 quotes: "error" 规则并没有生效的原因是因为 plugin:prettier/recommended 配置包含了 Prettier 插件的规则,并且该插件自动开启了 Prettier 的规则,包括对引号的处理。因此,quotes: "error" 这个规则被 Prettier 的规则所覆盖了


    也就是说不管你 .prettierrc.json 文件里实际设置的规则是怎样的,plugin:prettier/recommended 提供给eslint的规则都是一样的,即写死的固定配置?


    我还以为plugin:prettier/recommended 它是根据  .prettierrc.json 动态生成的规则提供给eslint

    2023-07-30 22:22:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端高级工程师(大前端)
  • 参与学习       297    人
  • 解答问题       366    个

全新打造“技术成长&职业破局”双高体系,深度打通“全栈 + 全流程 +多端+ 提效+AI赋能”,递进式锤炼思维与高阶技能,高效实现能力跃迁,助力成为“驾驭全局,深广兼备,打通多端全栈”的高级工程师

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师