【问题标题】:How to remove eslint plugin eslint-plugin-jsx-a11y?如何删除 eslint 插件 eslint-plugin-jsx-a11y?
【发布时间】:2019-08-22 06:23:06
【问题描述】:

我为我的 React 项目设置了 eslint(Airbnb 编码风格),它具有“eslint-plugin-jsx-a11y”的依赖项,我当前的项目不想要它。

我的问题是如何删除这个特定的插件“eslint-plugin-jsx-a11y”。

当我卸载“eslint-plugin-jsx-a11y”时,它会出现以下错误:

"加载插件 jsx-a11y 失败:找不到模块 'eslint-plugin-jsx-a11y'"

有什么办法可以解决上述问题吗?

【问题讨论】:

  • 转到'/path-to/node_modules'并检查“eslint-plugin”是否有?在“package.json”中也是如此。此链接可能会有所帮助。 stackoverflow.com/questions/13066532/…
  • eslint-disable 插件你可以在这里找到。 npmjs.com/package/eslint-plugin-disable
  • 首先安装包eslint-config-airbnb-base,它将为您提供基本的eslint airbnb包,然后安装eslint-plugin-react。这样您就不必安装eslint-plugin-jsx-a11y。希望有帮助!
  • 我一定会试试的,谢谢!!

标签: javascript reactjs ecmascript-6 eslint eslint-config-airbnb


【解决方案1】:

首先,您需要删除您的 .eslintrc 上对插件 (eslint-plugin-jsx-a11y) 的引用(这就是为什么当您卸载它时,您的 eslint 配置会给您一个错误):

  1. extends(如果有)plugin:jsx-a11y/recommended 中搜索并删除。
  2. plugins:jsx-a11y中搜索并删除。
  3. 然后在rules 中删除所有涉及jsx-a11y 的规则(例如:"jsx-a11y/rule-name": 2)。
  4. 最后你可以从项目中删除它:npm uninstall eslint-plugin-jsx-a11y --save-dev

PS:如果你对eslint-plugin-jsx-a11y有任何disable声明,记得删除它(它们不再需要了)

【讨论】:

    【解决方案2】:

    如果您明确包含 jsx-a11y 插件,Alberto Perez 的答案是有效的。但是如果你扩展另一个包含jsx-a11y 的插件,他的方法就不起作用了。

    如果是这样,你可以使用这个:

    第一种解决方案

    https://github.com/mradionov/eslint-plugin-disable

    目前不支持eslint@8

    第二个解决方案

    https://github.com/airbnb/javascript/issues/2032#issuecomment-568934232

    const a11yOff = Object.keys(require('eslint-plugin-jsx-a11y').rules)
        .reduce((acc, rule) => { acc[`jsx-a11y/${rule}`] = 'off'; return acc }, {})
    
    module.exports = {
        rules: {
            ...a11yOff,
            // your rules
        },
    }
    

    【讨论】:

      【解决方案3】:

      尝试安装最新版本的 react-scripts

      如果这不起作用,请尝试一直更新到最新的 1.0.10,更新我的 package.json 中的 react 和 react-dom,删除 package-lock.json 并重新安装 node_modules。

      【讨论】:

      • 我认为这并不是他真正想要的解决方案(至少不是问题的范围)。
      • 这如何解决这个问题? OP 正在尝试删除 eslint-plugin-jsx-a11y
      猜你喜欢
      • 2018-03-28
      • 2021-10-12
      • 2018-05-26
      • 2019-07-11
      • 2018-07-04
      • 2019-12-25
      • 1970-01-01
      • 2019-07-30
      • 2019-06-27
      相关资源
      最近更新 更多