我正在探索 monorepos,我想进行以下设置:
/apps = applications
/components = many individual components
/shared = hostsource libs for reactjs, material-ui, etc
推理:我想从一个地方为所有组件和应用程序导入 reactjs 和 material-ui。将来升级的时候我只接触一个项目来升级核心库。
我认为 monorepos 就是为了解决这个问题吧?事实证明,升级 multi-repos 很困难。建议。也许更好的方法..
提前致谢,
还不确定如何实现
您可以将共享包和应用程序中的组件分开,并且仍然更新和添加在您的 mnorepo 中具有相同的依赖关系。
你可以使用像
manypkg这样的
package.json
linter。所以当你运行 manypkg
时,它会遍历你所有的应用程序和包并匹配它相同的依赖版本。这是 Turborepo
monorepo 在其官方文档中的示例。 处理包版本不匹配
您的另一个选择是将您的共享包(如
mui
)保留在 monorepo
的根目录中,而不是单独的应用程序或包。现在你所有的应用程序和包都将从root
(同一个地方)读取mui包。
希望对您有所帮助。