Deno 1.28 ืฉืืืจืจ, ืืกืืจืช ื-Sandboxing JavaScript ื-TypeScript ืฉื ืืชื ืืืฉืชืืฉ ืืื ืืื ืืืฆืืจ ืืืคืืื ืืฆื ืืฉืจืช. ืืคืืืคืืจืื ืคืืชืื ืขื ืืื Ryan Dahl, ืืืืฆืจ ืฉื Node.js. ืืื Node.js, Deno ืืฉืชืืฉ ืืื ืืข V8 JavaScript, ืืืฉืืฉ ืื ืืืคืืคื ืื ืืืืกืกื Chromium. ืืื ืขื ืืืช, Deno ืืื ื ืืืื ืฉื Node.js, ืืื ืืื ืคืจืืืงื ืืืฉ ืฉื ืืฆืจ ืืืคืก. ืงืื ืืคืจืืืงื ืืืคืฅ ืชืืช ืจืืฉืืื MIT. Builds ืืืื ืื ืขืืืจ 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 -ืงืจื 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 APIs. .uid(), ืืืกืคืช API ืืืฉ (Deno.Command) ืื ืืฆืื ืืืคืขืืช ืคืงืืืืช (ืชืืืืฃ ืืื ืืืจืกืื ืขืืืจ Deno.spawn, Deno.spawnSync ื-Deno.spawnChild).
ืชืืื ืืช ืขืืงืจืืืช ืฉื Deno:
- ืชืฆืืจืช ืืจืืจืช ืืืื ืืืืืื ืช ืืืืื. ืืืฉื ืืงืืฆืื, ืจืฉืช ืืืืฉื ืืืฉืชื ื ืกืืืื ืืืฉืืชืื ืืืจืืจืช ืืืื ืืืฉ ืืืคืขืื ืืืชื ืืืคืืจืฉ. ืืืฉืืืื ืืืจืืจืช ืืืื ืคืืขืืื ืืกืืืืืช ืืจืื ืืื ืืืืืืืช ืืืื ื ืืืืืื ืืืฉืช ืืืืืืืช ืืืขืจืืช ืืื ืืชื ืืจืฉืืืช ืืคืืจืฉืืช;
- ืชืืืื ืืืื ืืช ื-TypeScript ืืขืืจ ื-JavaScript. ืืืืืงืช ืกืืืื ืืืฆืืจืช JavaScript, ื ืขืฉื ืฉืืืืฉ ืืืืืจ TypeScript ืืกืื ืืจืื, ืื ืฉืืืืื ืืืจืืื ืืืืฆืืขืื ืืืฉืืืื ืื ืืชืื JavaScript ื-V8;
- ืืื ืืจืืฆื ืืืืข ืืฆืืจื ืฉื ืงืืืฅ ืืคืขืื ืขืฆืืื ืืื ("deno"). ืืื ืืืคืขืื ืืืฉืืืื ืืืืฆืขืืช Deno, ืืชื ืจืง ืฆืจืื ืืืืจืื ืงืืืฅ ืืคืขืื ืืื ืขืืืจ ืืคืืืคืืจืื ืฉืื, ืืืืื ืฉื ื-30 ืืื-ืืืื, ืฉืืื ืื ืชืืืช ืืืฆืื ืืช ืืืื ื ืืืจืฉ ืืชืงื ื ืืืืืืช ืขื ืืืขืจืืช. ืืชืจ ืขื ืื, deno ืืื ื ืืืฉืื ืืื ืืืืื, ืืื ืืื ืืืกืฃ ืฉื ืืืืืืช ืืจืื Rust (deno_core, rusty_v8), ืฉื ืืชื ืืืฉืชืืฉ ืืื ืื ืคืจื;
- ืืขืช ืืคืขืืช ืืชืืื ืืช, ืืื ืื ืืืขืื ืช ืืืืืืื, ืืชื ืืืื ืืืฉืชืืฉ ืืืชืืืช URL. ืืืืืื, ืืื ืืืคืขืื ืืช ืชืืื ืืช welcome.js, ืืชื ืืืื ืืืฉืชืืฉ ืืคืงืืื "deno https://deno.land/std/examples/welcome.js". ืงืื ืืืฉืืืื ืืืฆืื ืืื ืืืจืืืื ืืืืืกื ืื ืืืืืื ืืืขืจืืช ืืืงืืืืช, ืื ืืขืืื ืื ืืชืขืืื ืืืืืืืืช (ืขืืืื ืืืืื ืืคืขืืช ืืืคืืืงืฆืื ืืืคืืจืฉ ืขื ืืืื "--reload");
- ืขืืืื ืืขืื ืฉื ืืงืฉืืช ืจืฉืช ืืืืฆืขืืช HTTP ืืืคืืืงืฆืืืช; ืืคืืืคืืจืื ืืืืขืืช ืืืฆืืจืช ืืืฉืืื ืจืฉืช ืืขืื ืืืฆืืขืื ืืืืืื;
- ืืืืืืช ืืืฆืืจ ืืืฉืืื ืืื ืืจื ื ืืื ืืืจืกืืืื ืฉื ืืชื ืืืคืขืื ืื ืืื ื ืืื ืืืคืืคื ืืื ืืจื ื ืจืืื;
- ื ืืืืืช ืฉื ืกื ืกืื ืืจืื ืฉื ืืืืืืื, ืฉืืฉืืืืฉ ืืื ืืื ื ืืฆืจืื ืืชืงืฉืจืืช ืืชืืืช ืืืฆืื ืืช. ืืืืืืื ืืืืกืฃ ืืกืื ืืจืืื ืขืืจื ืืืงืืจืช ืืืืืงืืช ืชืืืืืช ื ืืกืคืืช;
- ืื ืืกืฃ ืืืื ืืจืืฆื, ืคืืืคืืจืืช Deno ืคืืขืืช ืื ืืื ืืืช ืืืืืืช ืืืืคืฉืจืช ืื ืืืฉืช ืืืืืืืื ืืคื ืืชืืืช URL ืืชืื ืืงืื. ืืืืืื, ืืื ืืืขืื ืืืืื, ืืชื ืืืื ืืฆืืื ืืงืื "ืืืื * ืืชืืจ ืืืื ืืชืื "https://deno.land/std/log/mod.ts". ืงืืฆืื ืฉืืืจืื ืืฉืจืชืื ืืืฆืื ืืื ืืจื URL ื ืฉืืจืื ืืืืืื. ืืชืืืืืืช ืืืจืกืืืช ืืืืื ื ืงืืขืช ืขื ืืื ืฆืืื ืืกืคืจื ืืจืกืืืช ืืชืื ืืชืืืช ืืืชืจ, ืืืืืื, "https://unpkg.com/[ืืืื ืืืื"ื]/dist/liltest.js";
- ืืืื ื ืืืื ืืขืจืืช ืืฉืืืืช ืืืืืงืช ืชืืืช (ืคืงืืืช "deno info") ืืืื ืขืืจ ืืขืืฆืื ืงืื (deno fmt);
- ื ืืชื ืืฉืื ืืช ืื ืกืงืจืืคืื ืืืืฉืื ืืงืืืฅ JavaScript ืืื.
ืืงืืจ: OpenNet.ru