这种结构有什么好处呢?为何不直接用XXXLib来进行开发呢?而要在内部再做三个npm库?

作者站长头像
站长
· 阅读数 10

我看到很多nodejs的库,就是说目录嵌套,将一些实现放在packages/目录下,这些小的目录又有package.json等配置信息。

比如:

XXXLib/
  package.json
  README.md
  node_modules/
  packages/
    site/...
    react-node/...
    xxx-lib/
      node_modules/
      src/
      tests/
      package.json
      rollup.config.js
      ....

您看这里的xxx-lib/ 就相当于一个内部的npm库,也就是外层有XXXLib npm库,包裹这内部的npm库。1、这种结构叫什么呢?是否叫做monorepo?2、这种结构有什么好处呢?为何不直接用XXXLib来进行开发呢?而要在内部再做三个npm库?

回复
1个回答
avatar
test
2024-07-01

是的 monorepo,这点可以在开发指引手册中看到 👉 #Project Structure - Vue.js Contributing Guide主要是协同开发以及协调各模块之间的依赖。通过工作区来区分和关联不同的子包。但是我印象中版本管理是一个大问题。

社区之前也有人问过这个问题,但是我找不到当初的问答了,所以引用 @Meathill 大佬发布过几篇相关文章,你可以借鉴一下:

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容