プリセット
Hono には、それぞれ特定の目的に合わせて設計されたルーターが数多くあります。Hono のコンストラクターで使用するルーターを指定できます。
プリセットは、一般的なユースケースに対応して提供されています。そのため、毎回ルーターを指定する必要はありません。すべてのプリセットからインポートされた Hono
クラスは同じであり、唯一の違いはルーターである点です。したがって、それらを相互に交換して使用できます。
hono
用途
ts
import { Hono } from 'hono'
ルーター
ts
this.router = new SmartRouter({
routers: [new RegExpRouter(), new TrieRouter()],
})
hono/quick
用途
ts
import { Hono } from 'hono/quick'
ルーター
ts
this.router = new SmartRouter({
routers: [new LinearRouter(), new TrieRouter()],
})
hono/tiny
用途
ts
import { Hono } from 'hono/tiny'
ルーター
ts
this.router = new PatternRouter()
どのプリセットを使用すべきですか?
プリセット | 適したプラットフォーム |
---|---|
hono | ほとんどのユースケースで強く推奨されます。登録フェーズは hono/quick に比べると低速な場合がありますが、ブート後は高いパフォーマンスを発揮します。Deno、Bun、または Node.js を使用して構築された長寿命サーバーに理想的です。Cloudflare Workers、Deno Deploy など、v8 アイソレートが使用されている環境でも、このプリセットは適切です。これは、アイソレートがブート後に一定時間持続するためです。 |
hono/quick | このプリセットは、アプリケーションがリクエストごとに初期化される環境用に設計されています。Fastly Computeは、このように動作するので、このような用途には、このプリセットが推奨されています。 |
hono/tiny | これは最小のルーターパッケージで、リソースが制限されている環境に適しています。 |