Deno與Node.js的區(qū)別是什么

本篇文章給大家分享的是有關Deno與Node.js的區(qū)別是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

振安網站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設公司等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯(lián)公司

1. Deno是一個基于V8構建的安全的TypeScript的Google運行時引擎。

它建立了:

l Rust(Deno的核心是用Rust編寫的,node用C++編寫的)

l Tokio(以Rust編寫的事件循環(huán))

l TypeScript(Deno支持開箱即用的JavaScript和typeScript)

l V8(谷歌在Chrome和node中使用的JavaScript進行時)

2. 它支持Type2.8開箱即用,沒有package.json,沒有npm 不追求兼容Node,通過URL方式引入依賴而非通過本地模塊,并且在第一次運行的時候進行加載和緩存,并僅在代碼使用運行,依賴才會更新。

n 可以控制文件系統(tǒng)和網絡訪問權限以運行沙盒代碼,默認訪問只讀文件系統(tǒng)可訪問,無網絡權限。V8 和 Golang 之間的訪問只能通過 protobuf 中定義的序列化消息完成;

n 最終創(chuàng)建單一可執(zhí)行文件;

n 支持 top-level 的 await;

n 最終的目標是兼容瀏覽器;

n 可以作為庫引入,用于建立自己的 JavaScript runtime。

這幾個特性,有很多個都是針對目前 NodeJs 的痛點而來的,包括無 package.json、依賴的引入和更新方式,針對的就是被廣泛吐槽的過大的。

同時,不再追求兼容 node,可以視為 ry 想徹底拋棄 node 包袱,打造一個更好的 JS 運行時。

它的安全性也是很放心的,它最重要的功能之一就是安全性很高,與NodeJs相反,Deno默認執(zhí)行沙箱中代碼,這就意味運行是無權訪問。

我們來看看它的工作原理:

(async () => {

   const encoder = new TextEncoder();

   const data = encoder.encode('Hello world');

   await Deno.writeFile('HelloWorld.txt', data);

   await Deno.writeFile(' HelloWorld2.txt', data);

})();

該腳本創(chuàng)建了兩個文本文件,其中包含一條消息。代碼正在沙箱中執(zhí)行,因此它無法訪問文件系統(tǒng)。HelloWorld.txt HelloWorld2.txt Hello world

另請注意,我們正在使用Deno命名空間而不是fs模塊,就像在Node中一樣。Deno命名空間提供了許多基本的輔助函數(shù)。通過使用命名空間,我們正在失去瀏覽器兼容性。

當然我們用到Deno的時候,會想到瀏覽器的兼容性,Deno旨在瀏覽器兼容。從技術上講,在使用ES模塊時,我們不必使用任何構建工具(如webpack)來使我們的應用程序啊可以在瀏覽器中使用。

但是像Babel這樣的工具會將代碼轉換成ES5版本的JavaScript,因此 即使在不支持該語言所用最新功能的舊版瀏覽器中,代碼也可以運行。但這也是最終文件中包含大量不必要的代碼并使輸出文件膨脹為代價的。

由我們決定我們的主要目標是什么,并相應地做出選擇。

TypeScript支持開箱即用

Deno使得無需任何配置文件即可輕松使用TypeScript。仍然可以用純JavaScript編寫程序并使用Deno執(zhí)行它們而不會有任何麻煩。

Deno是TypeScript和JavaScript的新運行時,是一個有趣的項目,現(xiàn)在已經穩(wěn)定增長了很長一段時間。但是在它被認為是生產就緒之前還有很長的路要走。

借助它的分散式方法,它需要從集中式軟件包注冊表(即npm)中釋放JavaScript生態(tài)系統(tǒng)。

以上就是Deno與Node.js的區(qū)別是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前名稱:Deno與Node.js的區(qū)別是什么
文章出自:http://muchs.cn/article0/pdgjio.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、定制開發(fā)、App設計云服務器、用戶體驗做網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網站