npm ESLint:插件“react”在以下项之间冲突

busg9geu  于 2023-01-26  发布在  React
关注(0)|答案(5)|浏览(288)

我在一个整体NPM组件包中有一个React应用程序。React应用程序作为一个演示站点,它将这个组件包作为故事书之上的集成步骤来使用。

local-component-package

├── .storybook
├── demos
│   └── react
│       ├── node_modules
│       └── package.json
├── node_modules
├── src
├── .eslintignore
├── .eslintrc.json
└── package.json

组件库(父目录)启用了ESLint,而演示应用程序未启用。
当我构建并运行React演示应用时,我看到相应的页面正在被提供。当我进行更改时,页面被热重新加载,然后我得到以下错误:

Plugin "react" was conflicted between "../../.eslintrc.json" and "BaseConfig » /path/to/project/demos/react/node_modules/eslint-config-react-app/base.js".

它似乎告诉我,演示应用程序中存在一个与基本(或父).eslintrc.json文件冲突的npm包(eslint-config-react-app),但我不确定为什么或如何解决这个问题。
下面是我的演示应用的package.json

"dependencies": {
  "react": "~16.8.5",
  "react-dom": "~16.8.5",
  "react-scripts": "5.0.0",
  "local-component-package": "file:../../build"
},
    • 注意:**我的基本组件npm包使用yarn as来获取Storybook和Webpack的最新版本,以及许多必要的插件,以便很好地协同工作。我运行的演示应用程序使用npm,因为它们模拟正在运行的生产应用程序。
  • 我使用的是VSCode,并且安装了ESLint扩展dbaeumer.vscode-eslint。我已将其禁用,以消除其导致的问题。上面指定的nodule_module确实出现在react演示应用的node_modules中,并且其配置正在被使用。
  • 我已经添加了一个.eslintignore文件,并在.eslintrc.json中添加了ignorePatterns,但也没有生效。linter似乎没有真正地对这个目录进行linter操作,所以看起来ignore正在工作,但配置仍然冲突。

我想知道的是:

我正在使用:

  • macOS Monterey 12.1(M1)
  • 节点版本16.13.0
  • 国家预防机制8.3.0
  • Yarn1.22.17

如果你需要更多的信息告诉我。

zphenhs4

zphenhs41#

有人向我指出,似乎我安装了不同版本的eslint-plugin-react
提供给我的解决方案是,由于我实际上对lint的React方面不感兴趣,我可以在环境中将DISABLE_ESLINT_PLUGIN设置为true。
参见https://create-react-app.dev/docs/advanced-configuration/在react项目中完全关闭了掉毛。
一个大喊出来去赞多希弗帮助我这一点!

cu6pst1q

cu6pst1q2#

我也遇到过同样的问题,问题的原因是当我cd'艾德到我的项目目录时,我用小写写了文件夹名,而实际的文件夹是用句子大小写命名的。所以要确保你从终端cd到的路径和真实的路径的大小写完全一样。

ndh0cuux

ndh0cuux3#

1.只需删除**“eslintConfig”:{“延伸”:[“React应用程序”,“React应用程序/笑话”] },**
在您包json中
1.已停止并再次运行npm start

3zwtqj6y

3zwtqj6y4#

尝试卸载当前的node.js并重新安装。它对我很有效!

dsekswqp

dsekswqp5#

尝试在package.json中使用小写的应用程序名称,这对我很有效

相关问题