Документация Запланировать пилот

Разработка с несколькими Workers

При разработке сложных приложений может потребоваться запускать несколько Workers одновременно. В этом руководстве рассматриваются разные подходы к локальному запуску нескольких Workers и случаи, когда стоит применять каждый из них.

Единая команда для разработки

Несколько Workers можно запустить одной командой разработки, передав серверу разработки несколько конфигурационных файлов:

Использование Wrangler

npx wrangler dev -c ./app/wrangler.jsonc -c ./api/wrangler.jsonc

Первая конфигурация (./app/wrangler.jsonc) считается основным Worker и доступен по адресу http://localhost:8787. Дополнительные конфигурации (например, ./api/wrangler.jsonc) выполняются как вспомогательные Workers, доступные из основного Worker через service bindings или tail consumers.

Использование плагина Vite

Настройте auxiliaryWorkers в конфигурации Vite:

vite.config.js
import { defineConfig } from "vite";
import { cloudflare } from "@cloudflare/vite-plugin";

export default defineConfig({
  plugins: [
    cloudflare({
      configPath: "./app/wrangler.jsonc",
      auxiliaryWorkers: [
        {
          configPath: "./api/wrangler.jsonc",
        },
      ],
    }),
  ],
});

Затем выполните:

npx vite dev

Используйте этот подход, если:

Несколько команд dev

Также каждый Worker можно запускать отдельной командой dev, с собственным терминалом и конфигурацией.

# Terminal 1
npx wrangler dev -c ./app/wrangler.jsonc
# Terminal 2
npx wrangler dev -c ./api/wrangler.jsonc

Эти Workers запускаются разными командами dev, но всё равно могут взаимодействовать друг с другом через service bindings или tail consumers независимо от того, начинаются ли они с wrangler dev или vite dev.

Используйте этот подход, если:

Такая настройка особенно полезна в крупных проектах, где каждая команда отвечает за часть Workers. Запуск всего через одну команду dev может потребовать значительной перестройки или интеграции сборки, что не всегда практично.

Запросите бесплатный пилот

Запланировать пилот