Standart Kütüphane
Deno, TypeScript ile yazılmış bir standart kütüphane sağlar. Bu, tekrar kullanılabilir standart modüllerden oluşan bir settir ve uygulama mantığınıza odaklanmanızı sağlar; yaygın görevler için "tekerleği yeniden icat etmek" zorunda kalmazsınız. Deno Standart Kütüphanesindeki tüm modüller, çekirdek ekip tarafından denetlenmiştir ve Deno ile çalışması garanti edilmiştir; bu da tutarlılık ve güvenilirlik sağlar.
Tüm paketleri görmek için
Deno Standart Kütüphanesindeki birçok paket, Node.js, Cloudflare Workers ve diğer JavaScript ortamları ile de uyumludur. Bu, kodunuzu modifikasyon olmadan birden fazla ortamda çalıştırmanıza olanak tanır.
Standart kütüphane JSR'de barındırılmaktadır ve şu adreste mevcuttur: https://jsr.io/@std. Paketler belgelenmiştir, test edilmiştir ve kullanım örnekleri içermektedir. JSR'de standart kütüphane paketlerinin tam listesini gözden geçirebilirsiniz, ancak burada birkaç örnek bulunmaktadır:
- @std/path: Node.js'in
path
modülüne benzer yol manipülasyon yardımcı programları. - @std/jsonc: Yorumlarla JSON'un (de)serileştirilmesi
- @std/encoding: Hex, base64 ve varyant gibi yaygın formatları kodlama ve çözme için yardımcı programlar
Sürümleme ve stabilite
Standart kütüphanenin her paketi bağımsız olarak sürümlendirilir. Paketler,
semanik sürümleme kurallarını takip eder.
Büyük sürümlerin kodunuzu etkilemesini önlemek için sürüm sabitleme veya sürüm aralıkları
kullanabilirsiniz.
Standart kütüphane modüllerini içe aktarma
Deno Standart Kütüphanesinden paketleri kurmak için, deno add
alt komutunu kullanarak paketi deno.json
içe aktarma haritanıza ekleyebilirsiniz.
deno add jsr:@std/fs jsr:@std/path
deno.json
dosyasındaki imports
alanı, bu içe aktarmaları içerecek şekilde güncellenecektir:
{
"imports": {
"@std/fs": "jsr:@std/fs@^1.0.2",
"@std/path": "jsr:@std/path@^1.0.3"
}
}
Ardından, bu paketleri kaynak kodunuzda şu şekilde içe aktarabilirsiniz:
import { copy } from "@std/fs";
import { join } from "@std/path";
await copy("foo.txt", join("dist", "foo.txt"));
Alternatif olarak, modülleri doğrudan jsr:
belirteci ile içe aktarabilirsiniz:
import { copy } from "jsr:@std/fs@^1.0.2";
import { join } from "jsr:@std/path@^1.0.3";
await copy("foo.txt", join("dist", "foo.txt"));
Node.js uyumluluğu
Deno Standart Kütüphanesi, Node.js, Cloudflare Workers ve diğer JavaScript ortamları ile uyumlu olacak şekilde tasarlanmıştır. Standart kütüphane TypeScript ile yazılmıştır ve JavaScript'e derlenmiştir, böylece herhangi bir JavaScript ortamında kullanılabilir.
npx jsr add @std/fs @std/path
Bu komutu çalıştırmak, bu paketleri package.json
dosyanıza ekleyecektir:
{
"dependencies": {
"@std/fs": "npm:@jsr/std__fs@^1.0.2",
"@std/path": "npm:@jsr/std__path@^1.0.3"
}
}
Ardından, bunları kaynak kodunuzda, diğer Node.js paketleriyle olduğu gibi içe aktarabilirsiniz. TypeScript, bu paketlerin tür tanımlarını otomatik olarak bulacaktır.
import { copy } from "@std/fs";
import { join } from "@std/path";
await copy("foo.txt", join("dist", "foo.txt"));