JavaScript-ийн шинэ ажиллах цагийг бий болгох гол зорилгын нэг нь илүү аюулгүй орчинг бүрдүүлэх явдал юм. Аюулгүй байдлыг сайжруулахын тулд V8 хөдөлгүүр нь Rust хэл дээр бичигдсэн байдаг бөгөөд энэ нь санах ойн доод түвшний заль мэхээс үүдэн гарах үнэгүй хандалт, хоосон заагчийн хаягжилт, буфер хэт их ачаалал гэх мэт олон эмзэг байдлаас зайлсхийдэг. Энэхүү платформ нь хүсэлтийг блоклохгүй горимд боловсруулахад ашиглагддаг
Үндсэн
- Аюулгүй байдалд чиглэсэн өгөгдмөл тохиргоо. Файлын хандалт, сүлжээ болон орчны хувьсагчдад хандах хандалт нь анхдагчаар идэвхгүй бөгөөд тодорхой идэвхжсэн байх ёстой;
- JavaScript-ээс гадна TypeScript хэлний суурилуулсан дэмжлэг;
- Ажиллах цаг нь бие даасан гүйцэтгэх боломжтой файл ("deno") хэлбэрээр ирдэг. Deno ашиглан програмуудыг ажиллуулахад хангалттай
байршуулах платформын хувьд 10 МБ хэмжээтэй, гадаад хамааралгүй, систем дээр тусгай суулгац шаарддаггүй нэг гүйцэтгэгдэх файл; - Програмыг эхлүүлэх, модулиудыг ачаалахын тулд та URL хаягийг ашиглаж болно. Жишээлбэл, Welcome.js програмыг ажиллуулахын тулд та “deno https://deno.land/std/examples/welcome.js” командыг ашиглаж болно. Гадны эх сурвалжаас кодыг локал системд татаж аваад кэшд хадгалдаг боловч хэзээ ч автоматаар шинэчлэгддэггүй (шинэчлэхийн тулд програмыг “--reload” гэсэн тугтайгаар ажиллуулах шаардлагатай);
- Програмууд дахь HTTP-ээр дамжуулан сүлжээний хүсэлтийг үр дүнтэй боловсруулах; платформ нь өндөр хүчин чадалтай сүлжээний програмуудыг бий болгоход зориулагдсан;
- Deno болон ердийн вэб хөтөч дээр ажиллах боломжтой бүх нийтийн вэб програмуудыг бий болгох чадвар;
- Ажиллах хугацаанаас гадна Deno платформ нь багц менежерийн үүрэг гүйцэтгэдэг бөгөөд код доторх URL-ээр модулиудад хандах боломжийг олгодог. Жишээлбэл, модулийг ачаалахын тулд "https://deno.land/std/log/mod.ts"-аас "import *" гэсэн кодыг зааж өгч болно. URL-ээр дамжуулан гадаад серверээс татаж авсан файлуудыг кэшд хадгалдаг. Модулийн хувилбаруудтай холбох нь URL доторх хувилбарын дугаарыг зааж өгөх замаар тодорхойлогддог, жишээлбэл, “https://unpkg.com/[имэйлээр хамгаалагдсан]/dist/liltest.js";
- Энэ бүтэц нь хараат байдлыг шалгах нэгдсэн систем ("deno info" команд) болон код форматлах хэрэгсэл (deno fmt) багтана.
- Програм хөгжүүлэгчдэд зориулсан
санал болгосон нэмэлт аудит, нийцтэй байдлын шалгалтанд хамрагдсан стандарт модулиудын багц; - Бүх програмын скриптүүдийг нэг JavaScript файлд нэгтгэж болно.
Node.js-ийн ялгаа:
- Дено нь npm багц менежерийг ашигладаггүй
хадгалах сантай холбоогүй, модулиуд нь URL эсвэл файлын замаар хаяглагдсан бөгөөд модулиудыг өөрсдөө дурын вэбсайтад байрлуулж болно; - Дено модулиудыг тодорхойлохдоо "package.json" ашигладаггүй;
- API ялгаа, Deno дахь бүх асинхрон үйлдэл нь амлалтыг буцаана;
- Deno нь файл, сүлжээ болон орчны хувьсагчдад шаардлагатай бүх зөвшөөрлийн тодорхой тодорхойлолтыг шаарддаг;
- Зохицуулагчаар хангагдаагүй бүх алдаа нь програмыг зогсооход хүргэдэг;
- Дено нь ECMAScript модулийн системийг ашигладаг бөгөөд require()-г дэмждэггүй.
Эх сурвалж: opennet.ru