🔥
仕事で使うための Cloudflare Workers 入門 Day 5 - ServiceBinding
Service Binding
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "worker_a",
"main": "src/index.ts",
"compatibility_date": "2025-04-21",
"observability": {
"enabled": true
},
"services": [
{
"binding": "B",
"service": "b"
}
]
}
type Env = {
B: Service;
};
export default {
async fetch(request, env) {
const b = await env.B.fetch(request);
return new Response("Hello A <-> " + (await b.text()));
},
} satisfies ExportedHandler<Env>;
env.B
に別のサービスを登録します
src/
worker.ts
b/
index.ts
wrangler.jsonc
wrangler.jsonc
Service B
b/index.ts
type Env = {};
export default {
async fetch(_request: Request, _env: Env) {
return new Response('Hello B!', { status: 200 });
},
};
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "b",
"main": "index.ts",
"compatibility_date": "2025-04-21",
"observability": {
"enabled": true
}
}
name と service 名を一致させる必要があります。
これをまとめて起動。
$ wrangler dev -c wrangler.jsonc -c servcice-b/wrangler.jsonc
$ pnpm wrangler dev -c wrangler.jsonc -c b/wrangler.jsonc
⛅️ wrangler 4.12.0
-------------------
Your Worker and resources are simulated locally via Miniflare. For more information, see: https://developers.cloudflare.com/workers/testing/local-development.
worker_a has access to the following bindings:
- Services:
- B: b
No bindings found.
❓ Your types might be out of date. Re-run `wrangler types` to ensure your types are correct.
⎔ Starting local server...
[wrangler:inf] Ready on http://localhost:8787
Hello A <-> Hello B!
発展型 better micro frontend
- 異なる 5 つの Qwik アプリで構成して SSR/Hydration
Discussion