Voreinstellungen
Hono bietet verschiedene Router, die jeweils für einen bestimmten Zweck entwickelt wurden. Im Konstruktor von Hono kannst du den gewünschten Router angeben.
Für häufige Anwendungsfälle gibt es Voreinstellungen, damit du den Router nicht jedes Mal angeben musst. Die aus den verschiedenen Voreinstellungen importierte Klasse Hono ist identisch; lediglich der Router unterscheidet sich. Die Voreinstellungen lassen sich daher austauschen.
hono
Verwendung:
ts
import { Hono } from 'hono'Router:
ts
this.router = new SmartRouter({
routers: [new RegExpRouter(), new TrieRouter()],
})hono/quick
Verwendung:
ts
import { Hono } from 'hono/quick'Router:
ts
this.router = new SmartRouter({
routers: [new LinearRouter(), new TrieRouter()],
})hono/tiny
Verwendung:
ts
import { Hono } from 'hono/tiny'Router:
ts
this.router = new PatternRouter()Welche Voreinstellung sollte ich verwenden?
| Voreinstellung | Geeignete Plattformen |
|---|---|
hono | Für die meisten Anwendungsfälle besonders empfehlenswert. Die Registrierungsphase kann zwar langsamer als bei hono/quick sein, nach dem Start bietet diese Voreinstellung jedoch eine hohe Leistung. Sie eignet sich besonders für langlebige Server mit Deno, Bun oder Node.js. Auch Fastly Compute ist geeignet, da die Routen dort während des Builds der Anwendung registriert werden. Ebenso eignet sich diese Voreinstellung für Umgebungen wie Cloudflare Workers und Deno Deploy, die V8-Isolates verwenden: Die Isolates bleiben nach dem Start eine gewisse Zeit bestehen. |
hono/quick | Diese Voreinstellung ist für Umgebungen gedacht, in denen die Anwendung bei jeder Anfrage initialisiert wird. |
hono/tiny | Dies ist das kleinste Routerpaket und eignet sich für Umgebungen mit begrenzten Ressourcen. |