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

Разработка с несколькими 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 может потребовать значительной перестройки или интеграции сборки, что не всегда практично.