『』Monorepo可能没你想象中那么香……( 三 )
本文插图
私有嵌套包
尽管如此 , 仍然有理由考虑在存储库中使用一个单独的包 。 它可以帮助开发人员简化导入和捆绑程序 , 而不需要在任何地方发布这些包 。 PreactCompat就是一个很好的例子 。
如果有用户可以导入的可选文件 , 但又不希望用户必须引用特定的JavaScript文件 , 希望捆绑程序自动为环境选择正确的格式 , 那么使用单独的package.json就可以了 。
本文插图
在上面的例子中 , 捆绑程序可以使用简化的路径 , 而不是直接指向文件 , 还可以根据包元数据决定是否使用UMD或ESM版本的文件 。
本文插图
结论
就像monorepos过度工程化并将太多的特性分离到包中一样 , 将代码分割到太多的存储库中也是如此 。 当一种模式比另一种模式更有意义时 , 那还有什么好讨论的呢?
需要进行成本效益分析 , 并将该特性作为一个单独的包放在一个存储库中 , 而不是将其作为一个可以导入的单独文件 , 或者完全放在一个单独的存储库中 , 这样做的好处是什么?总是需要考虑维护开销?
本文插图
图源:unsplash
就笔者个人而言 , 基于上面列出的所有原因 , monprepos并不是前进的道路 , 相反它们应该被避免 。 也希望能帮助你们避免掉“坑” 。
本文插图
留言点赞关注
我们一起分享AI学习与发展的干货
如转载 , 请后台留言 , 遵守转载规范
推荐阅读
- 「欢乐小机友」荣耀Play4T Pro:这可能是最具性价比的4G手机了
- 小贝贝议科技■国产手机厂商有可能使用华为麒麟芯片吗?
- 高盛分析师@高盛分析师:苹果iPhone 12可能推迟到11月发布
- 『木木的视频报告』新发现一颗最像地球的系外行星,可能有生命存在
- 『』新发现一颗最像地球的系外行星,可能有生命存在
- 【】华为可能正在开发具有滑动显示屏的新智能手机
- @你和学霸之间的距离,可能差了个它了
- 「iPhone」苹果为什么还不砍刘海?可能在等屏下摄像头
- #黑脸大人#华为可能正在开发具有滑动显示屏的新智能手机
- 「用户」微软快速修复了Defender运行完全扫描时可能崩溃的bug