monorepo (lerna) 包内的 React 应用程序导致“react”包发生冲突

问题描述 投票:0回答:2

我创建了:

  • 可重用的 React 组件包,以及
  • 用于测试组件的 React 应用程序

它们都在 monorepo (lerna) 内。 问题是组件和应用程序的“react”包指向“不同的东西”,因此在组件内使用钩子会触发此错误: “钩子只能在函数组件体内调用”。

删除第二个“react”包目录会影响组件项目,因为它是符号链接(类似于组件项目的快捷方式)。 有什么办法可以解决我的问题吗?enter image description here

reactjs npm monorepo lerna npm-package
2个回答
0
投票
  1. 清理所有node_modules。
  2. 在React组件中使用对等依赖关系。

我使用这两个步骤来解决 monorepo 中的 React 版本冲突问题。 你可以试试。


0
投票

步骤1 清除所有节点模块、dist 文件

步骤2 步骤到根文件夹并使用 - npx lerna run build

如果您仍然面临这个问题。根据您的要求更改 tsconfig 文件。

© www.soinside.com 2019 - 2024. All rights reserved.