我在一个整体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正在工作,但配置仍然冲突。
我想知道的是:
- 如果此模块不是node_modules的显式组成部分,为什么会在React演示应用程序中?
- 如何让这些配置停止冲突?
- 注:**我已经看过以下问题,但这些问题对我没有帮助。
- Plugin "react" was conflicted between "package.json » eslint-config-react-app
- Error when deploying react app and it keeps sayings << Plugin "react" was conflicted between "package.json » eslint-config-react-app » >>
- Error when deploying react app and it keeps sayings << Plugin "react" was conflicted between "package.json » eslint-config-react-app » >>
我正在使用:
- macOS Monterey 12.1(M1)
- 节点版本16.13.0
- 国家预防机制8.3.0
- Yarn1.22.17
如果你需要更多的信息告诉我。
5条答案
按热度按时间zphenhs41#
有人向我指出,似乎我安装了不同版本的
eslint-plugin-react
。提供给我的解决方案是,由于我实际上对lint的React方面不感兴趣,我可以在环境中将
DISABLE_ESLINT_PLUGIN
设置为true。参见https://create-react-app.dev/docs/advanced-configuration/在react项目中完全关闭了掉毛。
一个大喊出来去赞多希弗帮助我这一点!
cu6pst1q2#
我也遇到过同样的问题,问题的原因是当我cd'艾德到我的项目目录时,我用小写写了文件夹名,而实际的文件夹是用句子大小写命名的。所以要确保你从终端cd到的路径和真实的路径的大小写完全一样。
ndh0cuux3#
1.只需删除**“eslintConfig”:{“延伸”:[“React应用程序”,“React应用程序/笑话”] },**
在您包json中
1.已停止并再次运行npm start。
3zwtqj6y4#
尝试卸载当前的node.js并重新安装。它对我很有效!
dsekswqp5#
尝试在package.json中使用小写的应用程序名称,这对我很有效