← Cloudflare Pages / pages / configuration
Конфигурация сборки
Cloudflare Pages можно указать, как нужно собирать сайт и где будут находиться его файлы сборки.
Команды сборки и директории
Cloudflare Pages нужно указать команду сборки, чтобы объяснить, как собирать приложение. Для проектов, не указанных здесь, изучите документацию соответствующего инструмента или фреймворка и отправьте pull request, чтобы добавить их в этот список.
Директория сборки указывает, куда команда сборки проекта выводит собранную версию сайта на Cloudflare Pages. Обычно по умолчанию используется стандартная для отрасли public, но вам может понадобиться настроить её.
Основные сведения о конфигурации сборки
Команда сборки задаётся используемым фреймворком. Например, фреймворк Gatsby использует gatsby build в качестве команды сборки. Если вы работаете без фреймворка, оставьте Команда сборки поле пустым. Pages определяет успешность сборки по коду завершения, который возвращает указанная вами команда сборки. Любой код завершения, отличный от нуля, помечает сборку как неудачную. Код завершения 0 помечает сборку Pages как успешную, и файлы будут загружены независимо от того, записываются ли ошибки в поток standard error.
Каталог сборки создаётся командой сборки. У каждого фреймворка своё соглашение об именовании, например каталог вывода сборки называется /public для многих фреймворков.
Корневой каталог представляет собой место, где хранится содержимое вашего сайта. Если он не указан, Cloudflare считает корневым каталогом подключённый git-репозиторий. Корневой каталог необходимо указывать в таких случаях, как монорепозитории, где в одном репозитории может находиться несколько проектов.
Framework presets
Cloudflare ведёт список конфигураций сборки для популярных фреймворков и инструментов. Он доступен при создании проекта. Ниже перечислены стандартные команды и каталоги сборки для популярных фреймворков и инструментов.
Если вы не используете пресет, используйте exit 0 как ваш Команда сборки.
| Фреймворк/инструмент | Команда сборки | Директория сборки |
|---|---|---|
| React (Vite) | npm run build | dist |
| Gatsby | npx gatsby build | public |
| Next.js (статический экспорт HTML) | npx next build | out |
| Nuxt.js | npm run build | dist |
| Qwik | npm run build | dist |
| Remix | npm run build | build/client |
| Svelte | npm run build | public |
| SvelteKit | npm run build | .svelte-kit/cloudflare |
| Vue | npm run build | dist |
| Analog | npm run build | dist/analog/public |
| Astro | npm run build | dist |
| Angular | npm run build | dist/cloudflare |
| Brunch | npx brunch build --production | public |
| Docusaurus | npm run build | build |
| Elder.js | npm run build | public |
| Eleventy | npx @11ty/eleventy | _site |
| Ember.js | npx ember-cli build | dist |
| GitBook | npx gitbook-cli build | _book |
| Gridsome | npx gridsome build | dist |
| Hugo | hugo | public |
| Jekyll | jekyll build | _site |
| MkDocs | mkdocs build | site |
| Pelican | pelican content | output |
| React Static | react-static build | dist |
| Slate | ./deploy.sh | build |
| Umi | npx umi build | dist |
| VitePress | npx vitepress build | .vitepress/dist |
| Zola | zola build | public |
Переменные окружения
Если ваш проект использует переменные окружения для сборки сайта, вы можете задать собственные переменные окружения:
-
На панели управления Cloudflare перейдите к разделу Workers & Pages страницу.
Перейдите в Workers & Pages ↗ -
Выберите свой проект Pages.
-
Выберите Настройки > Переменные окружения.
По умолчанию внедряются следующие системные переменные окружения (их можно переопределить):
| Переменная окружения | Внедрённое значение | Пример варианта использования |
|---|---|---|
CI |
true |
Изменение поведения сборки при запуске в CI и локально |
CF_PAGES |
1 |
Изменение поведения сборки при запуске на Pages и локально |
CF_PAGES_COMMIT_SHA |
<sha1-hash-of-current-commit> |
Передача текущего ID коммита в систему отчетов об ошибках, например Sentry |
CF_PAGES_BRANCH |
<branch-name-of-current-deployment> |
Настройка сборки в зависимости от ветки, например отключение отладочного логирования на production |
CF_PAGES_URL |
<url-of-current-deployment> |
Позволяет инструментам сборки узнать URL-адрес, по которому будет развёрнута страница |