Deno TypeScript dengan Claude Code
Pelajari tentang deno typescript menggunakan Claude Code. Dilengkapi tips praktis dan contoh kode.
Denopengembangan dengan Claude Code: efisiensi
Deno セキュリティファーストなモダンruntime.TypeScript ネイティブサポートし、パーミッションモデル よるamanな実行環境 penyediaan.Claude Code dan 組み合わせれば、Deno 独自機能 juga 素早くpemanfaatan bisa dilakukan.
Pengaturan Awal Proyek
> Deno dengan Webaplikasi buatkan.
> Freshframework 使って、deno.json pengaturan juga して。
// 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"
}
}
pemanfaatan パーミッションモデル
Deno デフォルト すべて アクセス 拒否.
> file読み取り dan ネットワークアクセスだけ 許可した
> APIserver buatkan.最小izin 原則 dengan pengaturanして。
// server.ts
// 実行: 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 });
Freshでアイランドarsitektur
> Fresh アイランドkomponen dengan カウンター buatkan.
> serverサイド dan clientサイド 分離 意識して。
// 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>
);
}
testとcoverage
// 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("file operations with permissions", async () => {
const content = await Deno.readTextFile("./data/config.json");
const config = JSON.parse(content);
assertEquals(config.version !== undefined, true);
});
deploy Deno Deployへ
# Deno DeployのCLI
deno install -A jsr:@deno/deployctl
# デプロイ
deployctl deploy --project=my-app --entrypoint=main.ts
Summary
Deno セキュリティモデル dan TypeScriptネイティブサポート 、aman 快適なpengembangan体験 penyediaan.Claude Code 使えば、パーミッションpengaturanやFresh 独自pola juga efisien 習得 bisa dilakukan.TypeScriptpengembangan コツやセキュリティ監査panduan juga bisa dijadikan referensi.
Untuk Denoの詳細, lihat Deno公式ドキュメント.
PDF Gratis: Cheatsheet Claude Code dalam 5 Menit
Cukup masukkan emailmu dan kami akan langsung mengirim cheatsheet PDF A4 satu halaman.
Kami menjaga data pribadimu dengan aman dan tidak pernah mengirim spam.
Tentang Penulis
Masa
Engineer yang aktif menggunakan Claude Code. Mengelola claudecode-lab.com, media teknologi 10 bahasa dengan lebih dari 2.000 halaman.
Artikel Terkait
7 pemeriksaan sebelum menerbitkan artikel Claude Code multibahasa setiap hari
Checklist praktis agar artikel Claude Code multibahasa yang diterbitkan setiap hari tidak kehilangan locale, tidak merusak CTA, dan tidak meninggalkan halaman lama di production.
Apa itu Codex Automations? Membiarkan AI mengurus konten saat kamu tidur
Panduan praktis memakai Codex Automations untuk analytics, artikel, CTA, deploy, dan monetisasi.
Claude Code × GCP Cloud Functions Panduan Lengkap | Pengembangan Serverless Super Cepat
Optimalkan GCP Cloud Functions dengan Claude Code. Implementasikan trigger HTTP/Pub/Sub/Firestore, pengujian lokal, dan otomatisasi deployment dengan contoh kode nyata dari pengalaman Masa.