我有两个世博(反应本地)应用程序,共享他们的大部分代码,并已在生产。我们正试图将它们移到一个monorepo目录结构中,如下所示:
lerna.json
package.json
packages/
mobile-1/
app.json
index.js
package.json
mobile-2/
app.json
index.js
package.json
mobile-common/
src/
... actual app code ...
index.js
package.json我们的设置工作方式是导出一个函数,该函数从mobile-common/index.js启动应用程序,而mobile-{1,2}/index.js应该使用它们各自特有的初始化参数来调用该函数。
这个设置的问题是mobile-common使用了react-native和expo依赖项,而exp也需要这些依赖项来启动,这会在构建时导致某些问题。我们尝试了以下几点:
mobile-common、expo和react-native添加到mobile-{1,2}/package.json中的依赖项并执行lerna bootstrap。这允许我们运行打包程序,但是移动应用程序在构建时会崩溃,因为它们会发现重复的依赖关系。lerna bootstrap --hoist也不起作用。npm link在构建时还会产生重复依赖关系的问题。我们真的想转移到这种结构,因为我们以前的结构不允许我们同时运行两个应用程序,而且它变得越来越有必要。
谢谢你帮我们!
发布于 2019-01-09 11:10:13
如果您想要使用单一功能设置世博,您可以查看我在这里的例子。
目前,世博包必须留在根package.json中,因为看守人员没有正确解析符号链接。
https://stackoverflow.com/questions/49738290
复制相似问题