pnpm + turbo 实践 monorepo

1、创建项目

npx create-turbo@latest

2、turbo.json 配置文件

"dependsOn": ["^build"], // packges 目录下包的执行命令,用于处理依赖问题,依赖项执行的命令
"outputs": ["dist/**", ".next/**"] // Turborepo将缓存默认输出到 dist/** 和build/**文件夹中。可以通过outputs数组来设置缓存的输出目录
"frontend#deploy": {
               "dependsOn": ["ui#test", "backend#deploy"]           
           } // 增加了一个前端的部署任务。这个部署任务,依赖于一个UI组件库和对应的后端项目,只有这个UI组件库通过单测,然后后端项目部署成功,才会进行部署。对于指定包的依赖,使用<package>#<task>语法。

3、如果考虑增量缓存可以配合 CI 机器缓存

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://pnpm.io/zh/

https://turbo.build/

https://turbo.build/repo/docs/handbook/migrating-to-a-monorepo

http://mix.zhdocs.io/guide/basic.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值