-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
精读《Monorepo 的优势》 #151
Comments
大概知道Monorepo是什么,但是又不是那么的清楚。。。(逃 |
采用 |
tag 分子 repo 打标呢?比如加子 |
如果关注 lerna (monorepo的一个实现)的话可以看到他其实有很多相关管理工具,比如lerna-changelog的并不会出现tag前面是 |
可以参考 babel 和 react-router |
monorepo 感觉更适合内聚性比较强的工具类、框架类工程,例如react相关、 Angular相关,一般发布会有一系列的依赖同步更新;同时这种工程发展是可控的,不会随意膨胀,所以库的体积也是可控的。 业务类的工程代码管理感觉不适合用 monorepo, 但是多工程需要很强的基建基础,要不然人工维护很痛苦 |
git分支管理会变的很混乱啊,这个有什么办法吗 |
不太明白你说的第四点和第五点。关于第四点,各个packages自己可以有自己单独的npm script,自己写自己的,不管其他的package啥事儿。关于第五点,同样,各个package如果用了同一个库的不同版本,只需要在package内部的workspace安装这个package的依赖就好了,能复用的依赖自动会上升到最外层的package.json. |
这 2 点是可以通过 yarn workspace 之类的方案解决的,之前写这个的时候是因为我们选了一个 monorepo 解决方案 nx,它不是这种方式。 |
如果公司的项目有依赖二次封装的组件库和一些需要复用代码的业务组件或者工具包时,还会被其他部门或者其他项目使用,monorepo很适合,他的坑几乎都有对应的工具踩了,还支持统一跑测试用例,整合下文档,整体项目上一个台阶,结构清晰,但是复杂度同理,对新人不太友好,但是我们有自动化测试,能规避很多基本错误 |
本周精读的文章是 benefits-of-a-monorepo,结合笔者 Monorepo 的使用经验,可以聊一聊。
The text was updated successfully, but these errors were encountered: