pnpm + turbo 实践 monorepo
1、创建项目
npx create-turbo@latest
2、turbo.json 配置文件
1 2 3 4 5 | "dependsOn" : [ "^build" ], // packges 目录下包的执行命令,用于处理依赖问题,依赖项执行的命令 "outputs" : [ "dist/**" , ".next/**" ] // Turborepo将缓存默认输出到 dist/** 和build/**文件夹中。可以通过outputs数组来设置缓存的输出目录 "frontend#deploy" : { "dependsOn" : [ "ui#test" , "backend#deploy" ] } // 增加了一个前端的部署任务。这个部署任务,依赖于一个UI组件库和对应的后端项目,只有这个UI组件库通过单测,然后后端项目部署成功,才会进行部署。对于指定包的依赖,使用<package>#<task>语法。 |
3、如果考虑增量缓存可以配合 CI 机器缓存
1 2 3 4 | cache: directories: - dist - build |
3、pnpm 的作用
- 全局安装
pnpm add react react-dom -w
- 可以支持指定 app 安装依
pnpm add express -r --filter
@apps/react-demo
- 项目之间相互依赖
pnpm add ui@ --filter web
安装之后考虑版本换成 * ,确保是最新的
- 查看依赖关系
pnpm why -r <packageName>
4、turbo 作用
- 支持增量构建,配合设置缓存,加快构建速度
- 管道概念,不一定用到
- 配置文件的复用「看着好用,不一定要用」
- 远程缓存,支持自建,看上去是有想象力的
参考资料
https://nx.dev/getting-started/intro
https://turbo.build/repo/docs/handbook/migrating-to-a-monorepo
你要觉得这篇文章比较好,记得点推荐!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
2018-03-06 Adriod与HTML+JS的交互