node.js - 为什么在运行 react-native 运行后,说我“无法解析模块”+ lerna
问题描述
我有一个带有 lerna 的 monorepo 项目,并且我在 monorepo 文件夹中有应用程序、Web 和通用包。我的应用程序包是 react-native 项目,我的 web 包是 react-native-web 项目。我从 lerna add 命令在 web 和应用程序包中添加了公共依赖项。我的网络项目的结果很好,但是当我运行应用程序项目时,提醒我“无法解析模块”。而我在应用程序包根目录的 node_modules 文件夹中找到了 common 文件夹。为什么 react-native 没有找到我的共同依赖项?
解决方案
我认为问题在于 Metro 忽略了 smylink。我已经在谷歌上搜索了几个小时,终于找到了一个适用于"react-native": "^0.61.5"
and的修复程序metro "^0.54.1"
(我认为这也是最干净的解决方案)。
就是这个包:https ://www.npmjs.com/package/@carimus/metro-symlinked-deps
因此,您只需要metro.config.js
根据文档更改您的共享 lerna 包,并且不要忘记将您的共享 lerna 包添加到package.json
您将要使用它的包中(这看起来与我的其他包有点不同,我可以导入共享一个没有 package.json 条目)。
推荐阅读
- c++ - 从 System::String^ 转换为 System::String
- python - python代码在函数外工作,但不在函数内工作
- python - 如何在等号之前修复分号处的语法错误
- apache-kafka - 如何复制或配置kafka connect插件文件?
- python - 在 Python 中使用 Selenium 输入货币格式文本
- javascript - 如何在es6中过滤嵌套对象并返回父对象
- django - 无法登录管理员:自定义用户模型
- android - 为什么当应用程序后台运行时 handler.postDelayed 停止运行但 rxjava2 的 Observable.interval 没有?
- python-3.x - 双 lambda - 内部函数 - *args **kwargs 太复杂
- kentico - 通过 kentico api 删除 webpart 区域