Iqonga leDeno JavaScript liyahambelana neemodyuli zeNPM

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск Deno 1.28, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для обособлСнного выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языках JavaScript ΠΈ TypeScript, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для создания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° сСрвСрС. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ Π Π°ΠΉΠ°Π½ Π”Π°Π»ΡŒ (Ryan Dahl), ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Node.js. Как ΠΈ Π² Node.js Π² Deno ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ JavaScript-Π΄Π²ΠΈΠΆΠΎΠΊ V8, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Π½Π° основС Chromium. ΠŸΡ€ΠΈ этом Deno Π½Π΅ являСтся ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ Node.js, Π° прСдставляСт собой созданный с нуля Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. Π‘Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Linux, Windows ΠΈ macOS.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Deno Π±Ρ‹Π» создан для прСдоставлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ устранСния ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ошибок, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Node.js. Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности обвязка Π²ΠΎΠΊΡ€ΡƒΠ³ Π΄Π²ΠΈΠΆΠΊΠ° V8 написана Π½Π° языкС Rust, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… уязвимостСй, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ примСняСтся ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Tokio, Ρ‚Π°ΠΊΠΆΠ΅ написанная Π½Π° языкС Rust. Tokio позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ прилоТСния Π½Π° основС событийно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ (Event-driven), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ сСтСвых запросов Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π½ΠΎΠ²ΠΎΠΌ выпускС являСтся стабилизация совмСстимости с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ NPM, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Deno Π±ΠΎΠ»Π΅Π΅ 1.3 ΠΌΠ»Π½ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, созданных для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js. НапримСр, Π² прилоТСниях Π½Π° Π±Π°Π·Π΅ Deno Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ постоянного доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ Prisma, Mongoose ΠΈ MySQL, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ для обСспСчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ фронтэндов, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ React ΠΈ Vue. НСкоторыС NPM-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎΠΊΠ° ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ нСсовмСстимыми с Deno, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·-Π·Π° привязок ΠΊ спСцифичным для Node.js элСмСнтам окруТСния, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» package.json. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«deno compileΒ» с модулями NPM. Π’ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… выпусках планируСтся ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ нСсовмСстимости ΠΈ ограничСния.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π½Π΅Π΅ примСняСмой Π² Deno ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° основС систСмы ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ECMAScript ΠΈ Web API сохранСна Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ NPM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ привычная для Deno схСма Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° основС URL. Для обращСния ΠΊ модулям NPM прСдусмотрСн ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ URL-прСфикс Β«npm:Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ модулями Deno. НапримСр, для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° NPM-модуля ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ β€˜import { chalk } from Β«npm:chalk@5Β»;’, Π° для запуска NPM-скрипта ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки β€” Β«deno run β€”allow-env β€”allow-read npm:create-vite-extraΒ».

ИспользованиС NPM-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Deno Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ Π² Node.js, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Ρ‚ нСобходимости ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ установки ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС прилоТСния), Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π°ΠΉΠ» package.json, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ node_modules (ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ возвращСния старого повСдСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Β«β€”node-modules-dirΒ»).

Π’ прилоТСниях Π½Π° Π±Π°Π·Π΅ NPM сохраняСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования прСдоставляСмых Π² Deno ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² разграничСния доступа, изоляции ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… возмоТностСй. Для противодСйствия ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡŽ Π°Ρ‚Π°ΠΊ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости Deno Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ получСния доступа ΠΊ систСмС ΠΈΠ· зависимостСй ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ выявлСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…. НапримСр, ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ модуля получСния доступа Π½Π° запись Π² /usr/bin/ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ запрос подтвСрТдСния Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: deno run npm:install-malware ⚠️ β”Œ Deno requests write access to /usr/bin/. β”œ Requested by `install-malware` β”œ Run again with β€”allow-write to bypass this prompt. β”” Allow? [y/n] (y = yes, allow; n = no, deny) >

Из Π½Π΅ связанных Π² NPM ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии упоминаСтся ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠΊΠ° V8 Π΄ΠΎ выпуска 10.9, автоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, стабилизация API Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() ΠΈ Deno.uid(), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ API Deno.Command() для запуска ΠΊΠΎΠΌΠ°Π½Π΄ (ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° Deno.spawn, Deno.spawnSync ΠΈ Deno.spawnChild).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности Deno:

  • Uqwalaselo olungagqibekanga olusekwe kukhuseleko. Ufikelelo lwefayile, uthungelwano, kunye nofikelelo kwizinto eziguquguqukayo zokusingqongileyo zivaliwe ngokungagqibekanga kwaye kufuneka zenziwe zisebenze ngokuthe gca. Usetyenziso ngokungagqibekanga luqhutywa kwindawo ekwanti yebhokisi yesanti kwaye ayikwazi ukufikelela kubuchule benkqubo ngaphandle kokunika iimvume ezicacileyo;
  • ВстроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка TypeScript ΠΏΠΎΠΌΠΈΠΌΠΎ JavaScript. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ JavaScript задСйствован ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΉ компилятор TypeScript, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€ΠΎΡΠ΅Π΄Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ€Π°Π·Π±ΠΎΡ€ΠΎΠΌ JavaScript Π² V8;
  • Runtime поставляСтся Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ самодостаточного исполняСмого Ρ„Π°ΠΉΠ»Π° (Β«denoΒ»). Для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Deno достаточно Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ для своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ΄ΠΈΠ½ исполняСмый Ρ„Π°ΠΉΠ», Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ 30 ΠœΠ‘, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π²Π½Π΅ΡˆΠ½ΠΈΡ… зависимостСй ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ особой установки Π² систСму. ΠŸΡ€ΠΈ этом deno Π½Π΅ являСтся ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° прСдставляСт собой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ crate-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π° Rust (deno_core, rusty_v8), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;
  • Xa uqalisa inkqubo, kunye nokulayisha iimodyuli, ungasebenzisa idilesi ye-URL. Umzekelo, ukuqhuba inkqubo ye-welcome.js, ungasebenzisa umyalelo othi "deno https://deno.land/std/examples/welcome.js". Ikhowudi esuka kwimithombo yangaphandle ikhutshelwa kwaye igcinwe kwinkqubo yendawo, kodwa ayihlaziywa ngokuzenzekelayo (uhlaziyo lufuna ukuqhuba ngokucacileyo usetyenziso nge "--reload" iflegi);
  • Ukusetyenzwa ngokufanelekileyo kwezicelo zenethiwekhi nge-HTTP kwizicelo; iqonga lenzelwe ukudala usetyenziso oluphezulu lwenethiwekhi;
  • Ukukwazi ukwenza izicelo zewebhu jikelele ezinokuthi zenziwe zombini kwiDeno kunye nakwi-browser yewebhu eqhelekileyo;
  • НаличиС стандартного Π½Π°Π±ΠΎΡ€Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ привязки ΠΊ внСшним зависимостям. ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· стандартной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΡˆΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°ΡƒΠ΄ΠΈΡ‚ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ;
  • ΠšΡ€ΠΎΠΌΠ΅ runtime ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Deno Ρ‚Π°ΠΊΠΆΠ΅ выполняСт Ρ€ΠΎΠ»ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΈ позволяСт Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ модулям ΠΏΠΎ URL. НапримСр, для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ модуля ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ Β«import * as log from Β«https://deno.land/std/log/mod.tsΒ». Π€Π°ΠΉΠ»Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ с Π²Π½Π΅ΡˆΠ½ΠΈΡ… сСрвСров ΠΏΠΎ URL, ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ вСрсиям ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· указания Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² вСрсий Π²Π½ΡƒΡ‚Ρ€ΠΈ URL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«https://unpkg.com/[imeyile ikhuselwe]/dist/liltest.js";
  • Ulwakhiwo lubandakanya inkqubo yokuhlola ukuxhomekeka okudibeneyo (umyalelo "we-deno info") kunye nesixhobo sokufomatha ikhowudi (deno fmt);
  • Zonke izikripthi zesicelo zinokudityaniswa zibe yifayile yeJavaScript enye.

umthombo: opennet.ru

Yongeza izimvo