Deno 已經支持 npm 模塊

deno npm

該平台由 Node.js 的創建者 Ryan Dahl 開發。

最近 Deno 框架 1.28 新版發布消息發布,它可以執行獨立的 JavaScript 和 TypeScript 應用程序,這些應用程序可用於創建在服務器上運行的控制器。

創建 Deno 的目的是為用戶提供更安全的環境 並消除 Node.js 架構中的概念錯誤。 為了提高安全性,圍繞 V8 引擎的綁定是用 Rust 編寫的,這避免了由於低級內存處理而出現的許多漏洞。

為了以非阻塞模式處理請求,使用了同樣用 Rust 編寫的 Tokyo 框架。 Tokyo 允許您創建基於事件驅動架構的高性能應用程序,支持多線程並以異步模式處理網絡請求。

一些特點 Deno 的主要內容如下:

  • 除 JavaScript 外,內置 TypeScript 語言支持。 為了檢查類型和生成 JavaScript,使用了常規的 TypeScript 編譯器,與在 V8 中解析 JavaScript 相比,這會導致性能下降。
  • 運行時以單個自包含可執行文件(“deno”)的形式出現。 要使用 Deno 運行應用程序,只需為您的平台下載一個大小約為 30 MB 的可執行文件,該文件沒有外部依賴項,也不需要在您的系統上進行任何特殊安裝。
  • 通過 HTTP 對網絡請求進行高效應用處理,該平台旨在創建高性能網絡應用
  • 創建可在 Deno 和常規 Web 瀏覽器上運行的通用 Web 應用程序的能力
  • 存在一組標準模塊,其使用不需要綁定到外部依賴項。
  • 標準集合模塊已被進一步審計和測試兼容性
  • 該軟件包包括一個內置的依賴檢查系統(deno info 命令)和一個代碼格式化實用程序(deno fmt)
  • 所有應用程序腳本都可以合併到一個 JavaScript 文件中。

Deno 1.28 的主要創新點

新版本的主要變化是 與 npm 存儲庫中託管的包的穩定兼容性, 什麼 允許 Deno 使用超過 1,3 萬個模塊 為 Node.js 平台構建。 例如,基於 Deno 的應用程序現在可以使用 Prisma、Mongoose 和 MySQL 等持久數據訪問模塊,以及 React 和 Vue 等前端框架。

一些 npm 模塊仍然與 Deno 不兼容,例如,由於綁定到特定的 Node.js 環境,例如 package.json 文件。 也不能對 NPM 模塊使用“deno compile”命令。 未來的版本計劃解決這些不兼容性和限制。

模塊系統 繼承自 Deno 的 ECMAScript 和 Web API 模塊模型保持不變,而 Deno 著名的基於 URL 的加載方案用於導入 NPM 模塊。

在 Deno 中使用 NPM 包比在 Node.js 中容易得多,因為不需要預先安裝模塊(模塊在應用程序第一次啟動時安裝), package.json 文件未使用且 node_modules 目錄未使用, 默認情況下使用它(模塊緩存在共享目錄中,但可以使用“–node-modules-dir”選項恢復以前的行為)。

基於應用 NPM 保留使用訪問控制機制的能力, 對影響安全的高級功能進行 Deno 隔離和激活。 為了通過有問題的依賴來對抗攻擊, Deno 默認阻止所有從依賴項訪問系統的嘗試 並顯示有關檢測到的問題的警告。 例如,當模塊嘗試寫入 /usr/bin/ 時,將顯示此操作的確認提示:

與 NPM 無關的增強功能 在新版本中 包括V8引擎升級 對於 10.9 版, 自動檢測鎖定文件,Deno.bench()、Deno.gid()、Deno.networkInterfaces()、Deno.systemMemoryInfo() 和 Deno API 的穩定性。 .uid(),添加新的不穩定 API Deno.Command() 來執行命令(通用替代 Deno.spawn、Deno.spawnSync 和 Deno.spawnChild)。

最後值得一提的是 與 Node.js 一樣,Deno 使用 V8 JavaScript 引擎。,它也用於基於 Chromium 的瀏覽器。 同時,Deno 不是 Node.js 的一個分支,而是一個從頭開始構建的新項目。 該項目的代碼是在 MIT 許可下發布的,現成的版本可用於 Linux、Windows 和 macOS。

如果你是 有興趣了解更多關於它的信息, 你可以諮詢 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。