惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
J
Java Code Geeks
A
About on SuperTechFans
F
Fortinet All Blogs
B
Blog
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
博客园_首页
博客园 - 叶小钗
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
云风的 BLOG
云风的 BLOG

博客园 - 丁少华

adb提取本机apk 安卓ADB调试安卓 高德地图车机版本9.5制作共存 go项目的taskfile Go 内嵌网页 windows的终端像mac一样好用 pgsql指定用户看到某个表 vue不使用根组件 Huma + Orval 前后端 API 自动生成方案 Mac安装nginx 不喜欢Go的几点 代码写错分支拯救指南 React UI 库推荐 Loop Engineering Vue 3 UI 组件库 Neon白嫖免费pgsql 域名利用cloudflare免费图床 nginx反代CloudflarePages提示502 vite使用shadcn vite使用biome Window下Nginx winserver2022安装不上软件 mac已损坏无法打开 代码高亮 命令运行器之task 命令运行器之just windows开启wsl 白嫖Redis 白嫖MongoDB vercel无服务函数
Taskfile 拆分子文件
丁少华 · 2026-09-06 · via 博客园 - 丁少华

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 官方使用指南