Deno TypeScript mit Claude Code
Erfahren Sie, wie Sie Deno TypeScript mit Claude Code verwenden. Mit praktischen Tipps und Codebeispielen.
Deno-Entwicklung mit Claude Code optimieren
Deno ist eine moderne Runtime mit Security-First-Ansatz. Es unterstützt TypeScript nativ und bietet eine sichere Ausführungsumgebung durch das Berechtigungsmodell. In Kombination mit Claude Code können Sie auch die einzigartigen Funktionen von Deno schnell nutzen.
Initiale Projekteinrichtung
> Erstelle eine Webanwendung mit Deno.
> Verwende das Fresh-Framework und richte deno.json ein.
// deno.json
{
"lock": false,
"tasks": {
"dev": "deno run -A --watch=static/,routes/ dev.ts",
"build": "deno run -A dev.ts build",
"start": "deno run -A main.ts",
"test": "deno test -A --coverage=coverage",
"lint": "deno lint",
"fmt": "deno fmt"
},
"imports": {
"$fresh/": "https://deno.land/x/[email protected]/",
"$std/": "https://deno.land/[email protected]/",
"preact": "https://esm.sh/[email protected]",
"preact/": "https://esm.sh/[email protected]/"
},
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "preact"
}
}
Berechtigungsmodell nutzen
Deno verweigert standardmäßig allen Zugriff.
> Erstelle einen API-Server, der nur Dateileserecht und Netzwerkzugriff erlaubt.
> Konfiguration nach dem Prinzip der minimalen Berechtigungen.
// server.ts
// Ausführung: deno run --allow-net=:8000 --allow-read=./data server.ts
import { serve } from "$std/http/server.ts";
const handler = async (req: Request): Promise<Response> => {
const url = new URL(req.url);
if (url.pathname === "/api/config") {
const data = await Deno.readTextFile("./data/config.json");
return new Response(data, {
headers: { "content-type": "application/json" },
});
}
if (url.pathname === "/api/items") {
const dir = Deno.readDir("./data/items");
const items = [];
for await (const entry of dir) {
if (entry.isFile && entry.name.endsWith(".json")) {
const content = await Deno.readTextFile(
`./data/items/${entry.name}`
);
items.push(JSON.parse(content));
}
}
return Response.json(items);
}
return new Response("Not Found", { status: 404 });
};
serve(handler, { port: 8000 });
Island-Architektur mit Fresh
> Erstelle eine Counter-Inselkomponente mit Fresh.
> Achte auf die Trennung von Server-Seite und Client-Seite.
// routes/index.tsx
import Counter from "../islands/Counter.tsx";
export default function Home() {
return (
<div class="max-w-screen-md mx-auto p-4">
<h1 class="text-4xl font-bold">Deno Fresh App</h1>
<Counter start={0} />
</div>
);
}
// islands/Counter.tsx
import { useSignal } from "@preact/signals";
interface CounterProps {
start: number;
}
export default function Counter({ start }: CounterProps) {
const count = useSignal(start);
return (
<div class="flex gap-4 items-center">
<button onClick={() => count.value--}>-</button>
<span class="text-2xl">{count}</span>
<button onClick={() => count.value++}>+</button>
</div>
);
}
Tests und Abdeckung
// server_test.ts
import { assertEquals } from "$std/assert/assert_equals.ts";
Deno.test("API Health Check", async () => {
const res = await fetch("http://localhost:8000/api/config");
assertEquals(res.status, 200);
const data = await res.json();
assertEquals(typeof data, "object");
});
Deno.test("Dateioperationen mit Berechtigungen", async () => {
const content = await Deno.readTextFile("./data/config.json");
const config = JSON.parse(content);
assertEquals(config.version !== undefined, true);
});
Deployment auf Deno Deploy
# Deno Deploy CLI
deno install -A jsr:@deno/deployctl
# Deployment
deployctl deploy --project=my-app --entrypoint=main.ts
Zusammenfassung
Denos Sicherheitsmodell und native TypeScript-Unterstützung bieten ein sicheres und komfortables Entwicklungserlebnis. Mit Claude Code können Sie Berechtigungseinstellungen und Fresh-spezifische Muster effizient erlernen. Siehe auch TypeScript-Entwicklungstipps und den Sicherheitsaudit-Leitfaden.
Details zu Deno finden Sie in der offiziellen Deno-Dokumentation.
Related Posts
So beschleunigen Sie Ihre Nebenprojekte mit Claude Code [Mit Beispielen]
Erfahren Sie, wie Sie persönliche Entwicklungsprojekte mit Claude Code drastisch beschleunigen. Inklusive realer Beispiele und eines praktischen Workflows von der Idee bis zum Deployment.
So automatisieren Sie Refactoring mit Claude Code
Erfahren Sie, wie Sie Code-Refactoring mit Claude Code effizient automatisieren. Inklusive praktischer Prompts und konkreter Refactoring-Muster für reale Projekte.
Vollständiger CORS-Konfigurationsleitfaden mit Claude Code
Erfahren Sie alles über die CORS-Konfiguration mit Claude Code. Mit praktischen Tipps und Codebeispielen.