Zum Inhalt springen
rdlabo.devdocs

Eine Hono-API lokal ausprobieren

Sorgen Sie für ein einheitliches HTTP-Verhalten einer Hono-API: eine Health-Check-Antwort mit einem schwachen ETag und eine vorhersehbare JSON-Antwort für fehlende Routen. Sie sehen beide Antworten, ohne einen Port zu öffnen oder ein Cloudflare-Konto anzulegen.

1. Ein kleines Projekt erstellen

Verwenden Sie für diese Übung Node.js 24 und npm. Die Befehle legen die hier dokumentierte Kit-Version fest. npm installiert ihre erforderlichen Peer-Abhängigkeiten. Bei Paketmanagern, die diese auslassen, müssen Sie die Installationsvoraussetzungen beachten.

mkdir hono-kit-demo
cd hono-kit-demo
npm init -y
npm pkg set type=module
npm install @rdlabo/workers-hono-kit@0.12.2 hono@4
npm install --save-dev tsx@4

2. Zwei Anfragen senden

Speichern Sie diesen Code als demo.ts. app.request() führt die Anfragen an die Hono-Anwendung im aktuellen Prozess aus.

import { Hono } from 'hono';
import { createAppErrorHandler, finalizeResponse, notFoundHandler } from '@rdlabo/workers-hono-kit';

const app = new Hono();
app.use('*', finalizeResponse());
app.onError(createAppErrorHandler());
app.notFound(notFoundHandler);
app.get('/health', (c) => c.json({ ok: true }));

const healthy = await app.request('/health');
console.log(healthy.status, await healthy.text());
console.log('weak etag:', healthy.headers.get('etag')?.startsWith('W/'));

const missing = await app.request('/missing');
console.log(missing.status, await missing.text());
npx tsx demo.ts

Erwartete Ausgabe (die Reihenfolge der JSON-Eigenschaften spielt keine Rolle):

200 {"ok":true}
weak etag: true
404 {"message":"Cannot GET /missing","error":"Not Found","statusCode":404}

Sie haben das vom Kit ergänzte HTTP-Verhalten geprüft. Diese Übung richtet keine Workers-Bindings ein, authentifiziert keine Benutzer und testet keinen bereitgestellten Dienst.

3. In Ihre Anwendung übernehmen

Behalten Sie die Registrierung von Middleware und Routen bei, entfernen Sie die Demo-Anfragen und exportieren Sie app als Worker-Handler. Fahren Sie mit HTTP und Authentifizierung fort. Fügen Sie den MySQL-Adapter nur hinzu, wenn die Anwendung eine Datenbank benötigt.

Bestehende Kit-Nutzer sollten vor dem Upgrade die Import-Migration für 0.12 prüfen. Die alten Pfade /db und /business-time sind Kompatibilitäts-Exports; neue Integrationen verwenden die eigenständigen Pakete.

Nächste Schritte

Ihr Bedarf Beginnen Sie mit
Gemeinsames Hono-Verhalten für HTTP, Authentifizierung oder Queues @rdlabo/workers-hono-kit
MySQL-Zugriff mit oder ohne Hono Workers MySQL
Zeitzonenkonvertierungen und Prüfungen für neuen Code Workers Timezone + ESLint
Codekonventionen während der Entwicklung ESLint Plugin Rules

Das Kit stellt wiederverwendbare Infrastruktur bereit. Ihre Routen, Fachregeln, Zugangsdaten und das Datenbankschema bleiben in Ihrer Anwendung. Beginnen Sie mit einer Hilfsfunktion; Sie müssen nicht alle Einstiegspunkte übernehmen.