misakong

misakong

Deno 2 有什麼新功能

當 Deno 首次問世時,它以一些新的想法震撼了 JavaScript 和 TypeScript 世界。它是由 Ryan Dahl 創建的,Node.js 的創始人,Deno 旨在解決 Node 的一些問題,例如安全性和模塊的工作原理。現在,Deno 2 來了,它有更多的功能和改進,使其成為後端開發的強大選擇。
Deno 2 帶來了大量更新,使開發更輕鬆、更快速、更安全。以下是一些關鍵改進:

向後兼容且面向未來#

Deno 2 可以與 Node 和 npm 順利協作,這意味著您可以將其與當前的 Node 項目一起使用。例如,克隆 Node 項目後,您可以使用 deno install 快速設置依賴項,或使用 deno fmt 來格式化代碼,而無需 Prettier。

Deno 2 處理 package.json、node_modules 和 npm 工作區,因此它可以在任何使用 ESM 的 Node 項目中運行。對於較小的語法問題,只需使用 deno lint --fix。

如果你不喜歡 package.json 和 node_modules 但仍想使用 npm 包,你可以使用 npm: 說明符直接導入它們。這使您可以在單個文件中編寫具有 npm 依賴項的程序,而無需額外配置。

對於較大的項目,您可以使用清單文件管理依賴項。在 deno.json 文件中放置一個 npm: 說明符以輕鬆導入包:

Deno 允許您訪問超過 200 萬個 npm 模塊,包括 gRPC、ssh2、Prisma、temporal.io、duckdb、polars 等複雜包,甚至支持 Node-API 原生插件。

您還可以將 Deno 2 與您最喜歡的 JavaScript 框架一起使用,例如 Next.js、Astro、Remix、Angular、SvelteKit、QwikCity 等。它對於現代 Web 開發來說用途廣泛且功能強大。

Deno 現在用作包管理器#

Deno 2 不僅支持 package.json 和 node_modules,還引入了三個關鍵子命令來輕鬆管理你的依賴項。

deno install:此命令以閃電般的速度安裝您的依賴項。如果您有package.json,它將立即創建一個node_modules文件夾。如果沒有 package.json,它將全局緩存所有依賴項。它比使用冷緩存的 npm 快 15%,比使用熱緩存的 npm 快 90%。

deno add 和 deno remove:這些命令允許您在 package.json 或 deno.json 中添加或刪除包。如果你使用過 npm install 或 npm remove,你會感覺很舒服。

新的 JavaScript 註冊表 (JSR)#

今年早些時候,Deno 團隊推出了 JSR,這是一個現代的開源 JavaScript 註冊表。它改變了遊戲規則,因為它原生支持 TypeScript,允許您直接將模塊發布為 TypeScript 源代碼。JSR 處理跨不同運行時和環境加載模塊的複雜任務,僅支持 ESM,從 JSDoc 樣式的註釋自動生成文檔,並與類似 npm 和 npx 的系統一起使用。它甚至可以將 TypeScript 轉換為 .js 和 .d.ts 文件。

Deno 標準庫現已穩定#

Deno 標準庫包含經過全面審查的實用程序模塊,適用於從數據操作到 Web 相關邏輯和 JavaScript 特定功能的所有內容。它在 JSR 上可用,並且可以與其他運行時和環境一起使用。

私有 npm 註冊表等#

Deno 2 像 Node 和 npm 一樣處理私有 npm 註冊表。您只需要一個 .npmrc 文件。Deno 會自動檢測到它,並允許你拉取私有包,而無需任何額外設置。

工作區和 Monorepo#

Deno 2 支持工作區,可以輕鬆管理 monorepo。只需列出 deno.json 中的成員目錄即可:

成員可以具有單獨的依賴項和配置。Deno 還了解 npm 工作區,允許混合 Deno-npm monorepo。您可以使用 deno publish 將工作區成員發布到 JSR。

長期支持 (LTS)#

對於大型組織,審核新版本可能非常耗時。這就是 Deno 從 Deno 2.1 開始引入 LTS 發布頻道的原因。此頻道將在六個月內接收關鍵錯誤修復,以確保為生產使用提供穩定的基礎。六個月後,將根據最新的穩定版本創建新的 LTS 分支。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。