我有一个带有lerna的monorepo项目,我在monorepo文件夹中有应用程序,Web和通用软件包。我的应用程序包是react-native-project,我的Web包是react-native-web项目。我从lerna add命令在Web和应用程序包中添加通用依赖项。我的Web项目的结果很好,但是当我运行应用程序项目时,提醒我“无法解析模块”。而我在应用程序包根目录的node_modules文件夹中找到了公共文件夹。为什么react-native找不到我的共同依赖项?
答案 0 :(得分:0)
我认为问题是Metro忽略了smylink。我已经使用Google搜索了几个小时,终于找到了一个适用于"react-native": "^0.61.5"
和metro "^0.54.1"
的修复程序(而且我认为这也是最干净的解决方案)。
这是包裹:https://www.npmjs.com/package/@carimus/metro-symlinked-deps
因此,您只需要根据说明文件更改metro.config.js
,并且不要忘记将共享的lerna软件包添加到要使用的软件包的package.json
中(这看起来像的工作方式与其他软件包有所不同,我可以在其中导入没有共享的共享软件包。