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