【问题标题】:why after running react-native run, say me "Unable to resolve module" + lerna为什么在运行 react-native 运行后,说我“无法解析模块”+ lerna
【发布时间】:2019-09-12 10:53:34
【问题描述】:

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

enter image description here

enter image description here

【问题讨论】:

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


    【解决方案1】:

    我认为问题在于 Metro 忽略了 smylink。我已经在谷歌上搜索了几个小时,终于找到了一个适用于"react-native": "^0.61.5"metro "^0.54.1" 的修复程序(我认为这也是最干净的解决方案)。

    就是这个包:https://www.npmjs.com/package/@carimus/metro-symlinked-deps

    所以您只需要根据文档更改您的metro.config.js,并且不要忘记将您的共享 lerna 包添加到您将要使用它的包的package.json(这看起来有点不同从我的其他包中,我可以在没有 package.json 条目的情况下导入共享的包)。

    【讨论】:

      猜你喜欢
      • 2017-10-11
      • 2016-03-23
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 2020-04-15
      • 2020-03-02
      • 2016-12-27
      • 1970-01-01
      相关资源
      最近更新 更多