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 定目录。

参考:Task 官方配置说明Task 官方使用指南

posted @ 2026-09-06 00:07  丁少华  阅读(5)  评论(0)    收藏  举报