将 git 仓库连接到 Pages 时,默认仓库中任意文件的更改都会触发 Pages 构建。你可配置 Pages 包含或排除特定路径,以指定 Pages 是否应跳过某路径的构建。若使用 monorepo 项目结构并希望限制触发的构建数量,这尤其有用。
要配置包含和排除的路径:
-
在 Cloudflare 仪表板中,前往 Workers & Pages 页面。
Go to Workers & Pages ↗ -
找到你的 Pages 项目。
-
前往 Settings(设置) > Build > Build watch paths。Pages 默认将项目的 include 路径设为全部(
[*]),exclude 路径设为空([])。
配置字段可通过两种方式填写:
- 静态文件路径:输入要包含或排除的文件的精确名称(例如
docs/README.md)。 - 通配符语法:使用通配符匹配多个路径。可在规则开头或结尾指定通配符。
对于推送事件中的每个路径,构建监视路径按以下方式评估:
- 满足 exclude 条件的路径首先被忽略
- 剩余路径对照 include 条件检查
- 若找到任何匹配路径,则触发构建;否则跳过构建
Pages 在以下情况下将绕过路径匹配并默认构建项目:
- 推送事件包含 0 个文件更改(用户推送空推送事件以触发构建)
- 推送事件包含 3000+ 个文件更改或 20+ 个提交
若仅当 project-a/ 和 packages/ 等特定目录中的文件更改时才触发构建。由于 * 可跨路径分隔符匹配,这也包括 project-a/src/index.js 或 packages/utils/lib/helpers.ts 等嵌套子目录中的更改。
- Include 路径:
project-a/*, packages/* - Exclude 路径:``
若要对任何更改触发构建,但排除 docs/ 目录的更改(包括 docs/guides/setup.md 等嵌套路径)。
- Include 路径:
* - Exclude 路径:
docs/*
若要为仓库中任意位置的特定文件或文件类型(例如所有 .md 文件)触发构建。
- Include 路径:
*.md - Exclude 路径:``
若要对 src/ 中的更改触发构建,但忽略 src/tests/ 中的更改。
- Include 路径:
src/* - Exclude 路径:
src/tests/*