Deno 是一個(gè) JavaScript/TypeScript 的運(yùn)行時(shí),默認(rèn)使用安全環(huán)境執(zhí)行代碼,有著卓越的開發(fā)體驗(yàn)。 Deno 建立在 V8、Rust 和 Tokio 的基礎(chǔ)上。
Deno 旨在為現(xiàn)代程序員提供高效、安全的腳本環(huán)境。
它將始終作為單個(gè)可執(zhí)行文件分發(fā),并且該可執(zhí)行文件將能運(yùn)行任何 Deno 程序。給定一個(gè) Deno 程序的 URL,您應(yīng)該能夠用壓縮后不超過 15 MB 的 Deno 可執(zhí)行文件運(yùn)行它。
Deno 明確地承擔(dān)了運(yùn)行時(shí)和包管理器的角色。它使用標(biāo)準(zhǔn)的瀏覽器兼容協(xié)議(URL)來加載模塊。
對(duì)于過去用 bash 或 python 編寫的工具腳本來說,Deno 是一個(gè)優(yōu)秀的替代品。
Deno 不使用 npm,而是使用 URL 或文件路徑引用模塊。
Deno 在模塊解析算法中不使用 package.json。
Deno 中的所有異步操作返回 promise,因此 Deno 提供與 Node 不同的 API。
Deno 需要顯式指定文件、網(wǎng)絡(luò)和環(huán)境權(quán)限。
當(dāng)未捕獲的錯(cuò)誤發(fā)生時(shí),Deno 總是會(huì)異常退出。
使用 ES 模塊,不支持 require()。第三方模塊通過 URL 導(dǎo)入。
import * as log from "https://deno.land/std/log/mod.ts";
遠(yuǎn)程代碼在第一次運(yùn)行時(shí)獲取并緩存,直到代碼通過 --reload 選項(xiàng)運(yùn)行。(所以它在飛機(jī)上也能工作) 從遠(yuǎn)程 URL 加載的模塊或文件應(yīng)當(dāng)是不可變且可緩存的。
更多建議: