Zum Inhalt springen

Adapter-Helfer ​

Der Adapter-Helfer ermöglicht die einfache Interaktion mit verschiedenen Plattformen über eine einheitliche Schnittstelle.

Import ​

ts
import { Hono } from 'hono'
import { env, getRuntimeKey } from 'hono/adapter'

env() ​

Die Funktion env() erleichtert das Abrufen von Umgebungsvariablen über verschiedene Laufzeitumgebungen hinweg und ist nicht auf die Bindings von Cloudflare Workers beschränkt. Welche Werte mit env(c) abgerufen werden können, kann je nach Laufzeitumgebung unterschiedlich sein.

ts
import { env } from 'hono/adapter'

app.get('/env', (c) => {
  // NAME is process.env.NAME on Node.js or Bun
  // NAME is the value written in `wrangler.toml` on Cloudflare
  const { NAME } = env<{ NAME: string }>(c)
  return c.text(NAME)
})

Unterstützte Laufzeitumgebungen, Serverless-Plattformen und Cloud-Dienste:

Laufzeitumgebung angeben ​

Du kannst die Laufzeitumgebung zum Abrufen der Umgebungsvariablen angeben, indem du ihren Schlüssel als zweites Argument übergibst.

ts
app.get('/env', (c) => {
  const { NAME } = env<{ NAME: string }>(c, 'workerd')
  return c.text(NAME)
})

getRuntimeKey() ​

Die Funktion getRuntimeKey() gibt den Bezeichner der aktuellen Laufzeitumgebung zurück.

ts
app.get('/', (c) => {
  if (getRuntimeKey() === 'workerd') {
    return c.text('You are on Cloudflare')
  } else if (getRuntimeKey() === 'bun') {
    return c.text('You are on Bun')
  }
  ...
})

Verfügbare Laufzeitschlüssel ​

Die verfügbaren Laufzeitschlüssel sind unten aufgeführt. Laufzeitumgebungen ohne eigenen Schlüssel können ebenfalls unterstützt und als other gekennzeichnet werden. Einige Schlüssel orientieren sich an den Laufzeitschlüsseln von WinterCG:

  • workerd - Cloudflare Workers
  • deno
  • bun
  • node
  • edge-light - Vercel Edge Functions
  • fastly - Fastly Compute
  • other - Andere unbekannte Laufzeitschlüssel

Veröffentlicht unter der MIT-Lizenz.