Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

複数の Workers で開発する

最終更新 Markdown で表示Agent セットアップ

複雑なアプリケーションを作るときは、開発中に複数の Workers を動かしたくなることがあります。このガイドでは、複数の Workers をローカルで動かす方法と、それぞれの使い分けを説明します。

1 つの dev コマンド

複数の設定ファイルを開発サーバーに渡すと、1 つの dev コマンドで複数の Workers を動かせます。

Wrangler を使う

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

最初の設定(./app/wrangler.jsonc)がプライマリ Worker になり、http://localhost:8787 で公開されます。追加の設定(例: ./api/wrangler.jsonc)は補助 Worker として動き、プライマリ Worker から Service Bindings または tail consumer 経由で利用できます。

Vite plugin を使う

Vite の設定で auxiliaryWorkers を指定します。

vite.config.jsjs
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

この方法が向いている場合:

  • 開発セットアップを最もシンプルにしたい
  • Workers が同じアプリケーションまたは同じコードベースの一部である
  • 別の Worker の Durable Object 名前空間や Workflow に script_name でアクセスする、またはプロデューサーとコンシューマーの Worker が分かれた Queues を設定する

複数の dev コマンド

各 Worker を、それぞれ別のターミナルと設定で、別々の dev コマンドとして動かすこともできます。

# ターミナル 1
npx wrangler dev -c ./app/wrangler.jsonc
# ターミナル 2
npx wrangler dev -c ./api/wrangler.jsonc

これらの Workers は別々の dev コマンドで動きますが、wrangler devvite dev のどちらで起動しても、Service Bindings または tail consumer 経由で相互に通信できます。

この方法が向いている場合:

  • 開発中に各 Worker を独自のローカル URL で公開したい(1 つの dev コマンドではプライマリ Worker だけが公開されるため)
  • 各 Worker に独自のビルド設定やツールがある。たとえば、一方はカスタムプラグイン付きの Vite、もう一方は素の Wrangler プロジェクト、など
  • プロジェクト構成を変えたり設定を統合したりせずに、Workers を独立して動かして開発したい

大規模プロジェクトで、チームごとに一部の Workers を保守している場合に特に有効です。すべてを 1 つの dev コマンドにまとめると、大きな構成変更やビルド統合が必要になり、現実的でないことがあります。

役に立ちましたか?