INTEGRITY Документация

Развертывание существующего проекта

Wrangler способен автоматически определять используемый фреймворк и настраивать проект для Cloudflare Workers. Благодаря этому существующие проекты можно развернуть одной командой, без ручной настройки файлов конфигурации и установки адаптеров.

Как это работает

Когда вы выполняете wrangler deploy или wrangler setup в каталоге проекта без файла конфигурации Wrangler, Wrangler выполнит следующее:

  1. Определение фреймворка - анализирует ваш проект, чтобы определить используемый фреймворк
  2. Запрос подтверждения - Показывает обнаруженные настройки и просит подтвердить их перед внесением изменений
  3. Установка адаптеров - Устанавливает необходимые адаптеры Cloudflare для вашего фреймворка
  4. Генерация конфигурации - Создаёт wrangler.jsonc файл с соответствующими настройками
  5. Обновите package.json - добавляет полезные скрипты, такие как deploy, preview, а также cf-typegen
  6. Настройка git - добавляет специфичные для Wrangler записи в .gitignore

Поддерживаемые фреймворки

Автоматическая настройка поддерживает следующие фреймворки:

Фреймворк Адаптер/инструмент Примечания
Next.js vinext Настраивает vinext для Cloudflare Workers и добавляет необходимую конфигурацию Vite и Wrangler.
Astro @astrojs/cloudflare Выполняет astro add cloudflare автоматически
SvelteKit @sveltejs/adapter-cloudflare Выполняет sv add sveltekit-adapter автоматически
Nuxt Встроенная предустановка Cloudflare
React Router Cloudflare Vite plugin
Solid Start Встроенная предустановка Cloudflare
TanStack Start Cloudflare Vite plugin
Angular
Analog Встроенная предустановка Cloudflare
Vite Cloudflare Vite plugin
Vike
Waku
Статические сайты None Любой каталог с index.html

Автоматическая настройка может также работать для других проектов, например SPA на React или Vue. Попробуйте выполнить wrangler deploy или wrangler setup чтобы проверить, обнаружен ли ваш проект.

Созданные и изменённые файлы

При запуске автоматической настройки могут быть созданы или изменены следующие файлы:

wrangler.jsonc

Создаётся новый файл конфигурации Wrangler с настройками, подходящими для вашего фреймворка:

{
	"$schema": "node_modules/wrangler/config-schema.json",
	"name": "my-project",
	"main": "dist/_worker.js/index.js",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"compatibility_flags": ["nodejs_compat"],
	"assets": {
		"binding": "ASSETS",
		"directory": "dist",
	},
	"observability": {
		"enabled": true,
	},
}
"$schema" = "node_modules/wrangler/config-schema.json"
name = "my-project"
main = "dist/_worker.js/index.js"
# Set this to today's date
compatibility_date = "2026-08-28"
compatibility_flags = [ "nodejs_compat" ]

[assets]
binding = "ASSETS"
directory = "dist"

[observability]
enabled = true

Точная конфигурация зависит от используемого фреймворка.

package.json

Новые скрипты добавляются в ваш package.json:

{
	"scripts": {
		"deploy": "npm run build && wrangler deploy",
		"preview": "npm run build && wrangler dev",
		"cf-typegen": "wrangler types"
	}
}

.gitignore

Добавляются специфичные для Wrangler записи:

# wrangler files
.wrangler
.dev.vars*
!.dev.vars.example

.assetsignore

Для фреймворков, которые создают файлы worker в выходном каталоге, .assetsignore файл создается, чтобы исключить их из загрузки статических ресурсов:

_worker.js
_routes.json

Использование автоматической конфигурации

Развертывание с автоматической настройкой

Чтобы развернуть существующий проект, выполните wrangler deploy в каталоге вашего проекта:

npx wrangler deploy

Wrangler определит используемый вами фреймворк, покажет конфигурацию, которую собирается применить, и попросит вас подтвердить действия перед внесением изменений и развёртыванием.

Настройка без развёртывания

Чтобы настроить проект без развертывания, используйте wrangler setup:

npx wrangler setup

Это полезно, если вы хотите проверить сгенерированную конфигурацию перед развертыванием.

Просмотр изменений с помощью dry run

Чтобы увидеть, какие изменения будут внесены, без фактического изменения файлов:

npx wrangler setup --dry-run

В результате выводится сводка конфигурации, которая была бы сгенерирована.

Режим Non-interactive

Чтобы пропустить запросы на подтверждение, используйте --yes флаг:

npx wrangler deploy --yes

Это автоматически применяет конфигурацию с разумными значениями по умолчанию. Это удобно в средах CI/CD или когда вы хотите принять обнаруженные настройки без их проверки.

Импорт репозитория из панели управления

Когда вы импортируете репозиторий GitHub или GitLab через Cloudflare dashboard, autoconfig запускается в неинтерактивном режиме. Если в вашем репозитории нет файла конфигурации Wrangler, Workers Builds создаст pull request с необходимой конфигурацией.

PR включает все описанные выше изменения конфигурации. Создается предварительное развертывание, чтобы вы могли протестировать изменения перед слиянием. После слияния проект готов к развертыванию.

Подробнее см. в Автоматическое создание pull request.

Пропуск автоматической настройки

Если вы не хотите, чтобы автоматическая настройка выполнялась, убедитесь, что у вас есть корректный конфигурационный файл Wrangler (wrangler.toml, wrangler.json, или wrangler.jsonc) в вашем проекте перед запуском wrangler deploy.

Также проект можно настроить вручную, следуя руководствам для конкретных фреймворков в Руководства по фреймворкам.

Конфигурация Next.js

Для проектов Next.js автоматическая настройка использует vinext в качестве стандартного пути развёртывания для Cloudflare Workers. Сгенерированная конфигурация добавляет зависимости vinext и Vite, создаёт конфигурацию Cloudflare Workers и добавляет скрипты пакета для разработки, сборки и развёртывания.

vinext поддерживает функции кэширования Next.js, такие как Incremental Static Regeneration (ISR), "use cache", а также unstable_cache. Для production-приложений настройте сгенерированный проект Workers с бэкендом кэша, который требуется вашему приложению. Подробнее см. в кэширование vinext.

Если вместо vinext вам нужен адаптер OpenNext, настройте его вручную, следуя Руководство по адаптеру OpenNext.

Устранение неполадок

Обнаружено несколько фреймворков

Когда вы импортируете репозиторий через Workers Builds в панели управления Cloudflare, автоматическая настройка завершится ошибкой, если ваш проект содержит несколько фреймворков. Чтобы решить эту проблему, задайте корневой каталог на путь, содержащий только один фреймворк. Для monorepo обратитесь к настройка монорепозитория.

При выполнении wrangler deploy или wrangler setup локально, Wrangler предложит выбрать фреймворк, если будет обнаружено несколько поддерживаемых фреймворков.

Фреймворк не обнаружен

Если ваш фреймворк не обнаружен, убедитесь, что ваш package.json включает этот фреймворк в качестве зависимости.

Конфигурация уже существует

Если файл конфигурации Wrangler уже существует, автоматическая настройка не выполняется. Чтобы перенастроить проект, удалите существующий файл конфигурации и выполните wrangler deploy или wrangler setup снова.

Workspaces

Поддержка monorepo и рабочих пространств npm/yarn/pnpm пока ограничена. Wrangler анализирует каталог проекта, из которого запущена команда, но не обнаруживает зависимости, установленные в корне рабочего пространства. Из-за этого определение фреймворка может завершиться неудачей, если фреймворк указан как зависимость в корневом package.json а не в package.json.

Если вы столкнулись с проблемами, сообщите о них в Репозиторий Wrangler на GitHub.