共计 364 个字符,预计需要花费 1 分钟才能阅读完成。
- 主要考虑项目业务的 monorepo 场景
- 开源多个 npm 包的 monorepo(通过 pnpm + workspace 可以很好的管理,包括 npm 相互依赖的 link 和版本自动更新)
我能想到的思路:
-
pnpm + workspace,但是对于抽离的公共业务组件的
import npm package
要如何优雅处理,例如下图
-
不用 workspace, 直接用 Inquirer.js+ 脚本 的方式去读取 packages 里面的每一个项目的 index.ts 启动文件,
所有的依赖都丢到根目录的 package.json 里面,packages 里面的项目都不需要 package.json,把项目都假想成一个业务模块(每个项目里面都有一个类似于 ReactDom.createRoot 的入口启动项目), 弊端很明显就是 package.json 要维护所有依赖,自己写脚本维护启动和发布
正文完