ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Deno JavaScript Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠ° с NPM ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

Deno 1.28 бСшС пуснат, Ρ€Π°ΠΌΠΊΠ° Π·Π° ΠΏΡΡΡŠΡ‡Π½ΠΈΠΊ Π½Π° JavaScript ΠΈ TypeScript прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° създаванС Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ ΠΎΡ‚ страна Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° ΠΎΡ‚ Ryan Dahl, ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»ΡΡ‚ Π½Π° Node.js. Подобно Π½Π° Node.js, Deno ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° V8 JavaScript двигатСля, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Π² Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Chromium Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Deno Π½Π΅ Π΅ Ρ€Π°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π½Π° Node.js, Π° Π΅ Π½ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, създадСн ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈΡ‚Π΅ са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° Linux, Windows ΠΈ macOS.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Deno Π΅ създадСн, Π·Π° Π΄Π° прСдостави Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΏΠΎ-сигурна срСда ΠΈ Π΄Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Node.js. Π—Π° Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ сигурността, двигатСлят V8 Π΅ написан Π½Π° Rust, ΠΊΠΎΠ΅Ρ‚ΠΎ избягва ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ уязвимоститС, Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‰ΠΈ ΠΎΡ‚ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ниско Π½ΠΈΠ²ΠΎ. Π—Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° заявки Π² Ρ€Π΅ΠΆΠΈΠΌ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Tokio, ΡΡŠΡ‰ΠΎ написана Π½Π° Rust. Tokio Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ високопроизводитСлни прилоТСния, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° управлявана ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰Π° многопоточност ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ заявки Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ.

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

ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°Ρ‚Π° ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ECMAScript ΠΌΠΎΠ΄ΡƒΠ»Π½Π° систСма Π½Π° Deno ΠΈ Web API ΠΌΠΎΠ΄Π΅Π» сС Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ Π½Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ, Π° ΠΏΠΎΠ·Π½Π°Ρ‚Π°Ρ‚Π° Π½Π° Deno Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° URL схСма Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° NPM ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Π—Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ 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 иска Π΄ΠΎΡΡ‚ΡŠΠΏ Π·Π° запис Π΄ΠΎ /usr/bin/. β”œ Поискано ΠΎΡ‚ `install-malware` β”œ Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ с --allow-write, Π·Π° Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΡ‚Π΅ Ρ‚Π°Π·ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Π½Π°. β”” Π Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅? [y/n] (y = Π΄Π°, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅; n = Π½Π΅, ΠΎΡ‚ΠΊΠ°Π·) >

НС-NPM подобрСнията Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° двигатСля V8 Π΄ΠΎ вСрсия 10.9, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ, стабилизиранС Π½Π° Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() ΠΈ Deno API.

Основни характСристики Π½Π° Deno:

  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° към сигурността. Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π² ΠΌΡ€Π΅ΠΆΠ° ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° срСдата са Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ работят Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΏΡΡΡŠΡ‡Π½ΠΈ срСди ΠΈ нямат Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ систСмнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π±Π΅Π· прСдоставянС Π½Π° ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ;
  • Π’Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° TypeScript извън JavaScript. Π—Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠ° ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° JavaScript сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° стандартният ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ TypeScript, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ спад Π² производитСлността Π² сравнСниС с Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° JavaScript във V8;
  • Π’Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС ΠΈΠ΄Π²Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π΅Π½ самостоятСлСн изпълним Ρ„Π°ΠΉΠ» (β€ždenoβ€œ). Π—Π° Π΄Π° стартиратС прилоТСния с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Deno, трябва само Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ Π΅Π΄ΠΈΠ½ изпълним Ρ„Π°ΠΉΠ» Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠΎΠ»ΠΎ 30 MB, ΠΊΠΎΠΉΡ‚ΠΎ няма външни зависимости ΠΈ Π½Π΅ изисква спСциална инсталация Π² систСмата. ОсвСн Ρ‚ΠΎΠ²Π° deno Π½Π΅ Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° Π΅ колСкция ΠΎΡ‚ Rust crate ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ (deno_core, rusty_v8), ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ;
  • ΠŸΡ€ΠΈ стартиранС Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ URL адрСсиранС. НапримСр, Π·Π° Π΄Π° стартиратС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° welcome.js, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€ždeno https://deno.land/std/examples/welcome.jsβ€œ. ΠšΠΎΠ΄ΡŠΡ‚ ΠΎΡ‚ външни рСсурси сС изтСгля ΠΈ ΠΊΠ΅ΡˆΠΈΡ€Π° Π² Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° систСма, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ (актуализацията изисква ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ стартиранС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ с Ρ„Π»Π°Π³Π° β€ž--reloadβ€œ);
  • Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ заявки Ρ‡Ρ€Π΅Π· HTTP Π² прилоТСния, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° създаванС Π½Π° високопроизводитСлни ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ прилоТСния;
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° създаванС Π½Π° унивСрсални ΡƒΠ΅Π± прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΊΠ°ΠΊΡ‚ΠΎ Π² Deno, Ρ‚Π°ΠΊΠ° ΠΈ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€;
  • НаличиСто Π½Π° стандартСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‡ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π΅ изисква ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ с външни зависимости. ΠœΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ ΠΎΡ‚ стандартната колСкция са ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π»ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ ΠΎΠ΄ΠΈΡ‚ ΠΈ тСстовС Π·Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚;
  • Π’ допълнСниС към Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Deno дСйства ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ Π²ΠΈ позволява Π΄Π° ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ‡Ρ€Π΅Π· URL Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠΎΠ΄Π°. НапримСр, Π·Π° Π΄Π° Π·Π°Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ», ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС Π² ΠΊΠΎΠ΄Π° β€žΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ * ΠΊΠ°Ρ‚ΠΎ ΠΆΡƒΡ€Π½Π°Π» ΠΎΡ‚ β€žhttps://deno.land/std/log/mod.tsβ€œ. Π€Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ΠΈ ΠΎΡ‚ външни ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Ρ‡Ρ€Π΅Π· URL, сС ΠΊΠ΅ΡˆΠΈΡ€Π°Ρ‚. Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ към вСрсиитС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° сС опрСдСля Ρ‡Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° вСрсията Π²ΡŠΡ‚Ρ€Π΅ Π² URL адрСса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€žhttps://unpkg.com/[ΠΈΠΌΠ΅ΠΉΠ» Π·Π°Ρ‰ΠΈΡ‚Π΅Π½]/dist/liltest.js";
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π° систСма Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° зависимости (ΠΊΠΎΠΌΠ°Π½Π΄Π° β€ždeno infoβ€œ) ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ (deno fmt);
  • Всички скриптовС Π½Π° прилоТСния ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ JavaScript Ρ„Π°ΠΉΠ».

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€