Taskfile 拆分子文件
Taskfile 拆分子文件备忘
核心:根 Taskfile 用 includes 引入子文件,再用 命名空间:任务名 调用。
完整示例
下面用 echo 演示任务调用关系,使用时替换为实际的开发或构建命令即可。
目录结构:
project/
├── Taskfile.yml
├── tasks/
│ ├── frontend.yml
│ └── backend.yml
├── frontend/
└── backend/
根目录 Taskfile.yml:
version: '3'
includes:
frontend:
taskfile: ./tasks/frontend.yml
dir: ./frontend
backend:
taskfile: ./tasks/backend.yml
dir: ./backend
tasks:
dev:
deps: [frontend:dev, backend:dev]
build:
cmds:
- task: frontend:build
- task: backend:build
tasks/frontend.yml:
version: '3'
tasks:
dev:
cmds:
- echo "启动前端"
build:
cmds:
- echo "构建前端"
tasks/backend.yml:
version: '3'
tasks:
dev:
cmds:
- echo "启动后端"
build:
cmds:
- echo "构建后端"
在项目根目录调用:
task dev # 并行调用两个子文件的 dev
task build # 先 frontend:build,再 backend:build
task frontend:build # 单独调用前端构建
task backend:dev # 单独调用后端开发任务
容易忘的规则
| 配置 | 记法 |
|---|---|
includes |
引入任务文件 |
taskfile |
子配置文件的位置,文件名可以自定义 |
dir |
命令执行目录;放进子目录的 YAML 不代表命令自动在该目录执行 |
frontend:build |
引入时的命名空间 + 子文件内任务名 |
deps |
并行执行依赖任务 |
cmds |
顺序执行命令或子任务 |
补充:在子文件里调用同文件的任务可直接写 task: build;调用根文件任务用前导冒号,例如 task: :build。避免写成互相调用的循环。
一句话:includes 拆文件,命名空间找任务,dir 定目录。

浙公网安备 33010602011771号