为什么在运行react-native运行之后,对我说“无法解析模块” + lerna

时间:2019-09-12 10:53:34

标签: node.js react-native yarnpkg lerna react-native-web

我有一个带有lerna的monorepo项目,我在monorepo文件夹中有应用程序,Web和通用软件包。我的应用程序包是react-native-project,我的Web包是react-native-web项目。我从lerna add命令在Web和应用程序包中添加通用依赖项。我的Web项目的结果很好,但是当我运行应用程序项目时,提醒我“无法解析模块”。而我在应用程序包根目录的node_modules文件夹中找到了公共文件夹。为什么react-native找不到我的共同依赖项?

enter image description here

enter image description here

1 个答案:

答案 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中(这看起来像的工作方式与其他软件包有所不同,我可以在其中导入没有共享的共享软件包。