Npm 将Lerna与React Native一起使用?

Npm 将Lerna与React Native一起使用?,npm,react-native,lerna,Npm,React Native,Lerna,可以将Lerna()与React Native一起使用吗?我正在尝试创建具有以下结构的新项目: MyApp packages myapp-core myapp-mobile myapp-web lerna bootstrap似乎对core或web没有任何问题,但是mobile(这是一个React原生项目)拒绝找到myapp core模块 我记得React Native中的npm链接存在一些问题。这就是问题的原因吗?这种功能最终会存在吗 看起来从react nativ

可以将Lerna()与React Native一起使用吗?我正在尝试创建具有以下结构的新项目:

MyApp
  packages
    myapp-core
    myapp-mobile
    myapp-web
lerna bootstrap
似乎对
core
web
没有任何问题,但是
mobile
(这是一个React原生项目)拒绝找到
myapp core
模块


我记得React Native中的npm链接
存在一些问题。这就是问题的原因吗?这种功能最终会存在吗

看起来从
react native:0.40.0
开始,lerna就可以正常工作了。我创建了一个最小的演示应用程序,它使用
共享的
包为感兴趣的人更改React和React本机应用程序的背景色:

复制步骤:

  • 在中克隆回购和
    cd
  • npm安装
  • /node\u modules/.bin/lerna引导程序
  • 然后,您可以运行每个应用程序(
    npm start
    用于react,
    react native运行ios
    用于react native),您将看到背景根据共享repo的输入更改为红色。添加新包时,请确保将新包添加到每个相关的
    package.json
    文件中,就像我将
    shared
    添加到web和移动项目中一样


    请注意,此项目没有利用Lerna的独立版本控制系统。

    是的,可以创建一个工作区,在本机和web平台上使用react运行Lerna

    事实上,当你打算在应用程序中共享JS逻辑时,在lerna风格的monorepo中拥有一个web移动项目可能是一个不错的选择

    创建以下monorepo作为示例:

    有关更多信息,请查看:

    如评论中所述。这使得无法使用Lerna从同一monorepo创建指向本地子包的符号链接


    幸运的是,有一个支持符号链接的替代打包程序。到目前为止,对我来说效果很好

    您是否采取了任何措施让符号链接“共享”在packager中工作?我不明白当packager不支持它时它是如何工作的()我也有同样的问题。你找到解决方案了吗@AshleyCoolman?@IhorBurlachenko我不再寻找解决方案了,因为看起来不管问题是什么,最终都会在RN内得到解决。Github的这个问题可能值得一看:我改用了Haul,效果很好,看起来很棒。你知道这对crna和expo是否也适用吗?