例
アプリケーションが所有するライフサイクル境界を選び、そのエコシステムでスコープを作成、公開、破棄する方法を比較してください。各グループは examples/ のディレクトリに対応します。
ここから始める
まず examples/_shared/container.ts を読んでください。ほとんどのサーバーサイドの例はこのビルダーをインポートしており、各ファイルはフレームワークの配線に集中できます。
| グループ | 比較する内容 |
|---|---|
| JavaScript での使用 | Node ESM、Node CommonJS、そしてブラウザのバンドラーでの使用 |
| バックエンドフレームワーク | Fastify、Hono、Koa、Express、そして Elysia のリクエストスコープアダプター |
| API レイヤー | tRPC、Apollo Server、そして GraphQL Yoga のリクエストスコープ境界 |
| フルスタックフレームワーク | Next.js App Router と Remix の loader/action スコープ |
| ランタイムとエッジプラットフォーム | Node HTTP、Bun、Deno、Cloudflare Workers、Vercel Edge、Deno Deploy、そして Supabase Edge |
| フロントエンドフレームワーク | React、React Native、Vue、そして Svelte の機能スコープ |
| ボット、キュー、そして CLI | Telegraf、Grammy、BullMQ、Commander、そして Yargs の操作スコープ |
グループの読み方
サーバーサイドの例では、アプリケーションのグラフとして examples/_shared/container.ts を使用します。グループのページはライフサイクルの所有に焦点を当てています。すなわち、スコープがどこで作成され、どこで公開され、どこで破棄されるかです。
サーバーサイドとワーカーの例では、フレームワーク/プラットフォームのライフサイクルフックを比較してください。フロントエンドの例では、マウントとアンマウントの境界を比較してください。
参照スニペット
pnpm run examples:typecheck は examples/_shared/container.ts と examples/_shared/testing.ts を検査します。ルート workspace はすべてのフレームワーク依存をインストールしないため、その他のフレームワークスニペットまでは型チェックしません。必要なパターンをアプリケーションへコピーし、依存パッケージを追加して、共有グラフを自身の型に合わせてください。
