您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Javascript開發人員更喜歡Deno的五大原因是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
為了解決Node的許多缺點,NodeJS的開發者 Ryan Dahl,發布了一個新的運行時刻。
人們最初的反應可能是:“太棒了,另一個Javascript框架?正是我需要的。”筆者也有過同樣的反應。在了解其優點之后,筆者更清晰地明白了為什么說Deno正是年后端Javascript開發人員所需要的。
相較Node而言,一起看看JavaScript開發人員使用Deno體驗更流暢和更現代的五大原因。
1.Modern Javascript —ES 模塊
如果你也是個React開發人員,那么應該已經注意到了,在使用NodeJS時導入包的語法是不同的。這是因為Node是在2009年開發的,從那時起,針對Javascript進行了很多更新和改進。
在React(和Deno)中,使用現代的import package from 'package'語句,而在Node中,使用const package = require("package")語句。
ES模塊導入的優越性源于兩個方面:
通過import,可以有選擇地僅從包中加載所需的片段,這樣可以節省內存。
加載與require同步,而import異步加載模塊,這提高了性能。
2. 頂級await —在異步函數之外使用 await
在Node中,await關鍵字只能在異步函數中訪問。但是在Deno中,不論在何地,面對什么對象,都可以使用await,而無需將其打包為異步函數。
幾乎所有的Javascript應用程序都包含許多異步函數。這次升級使代碼更加干凈和簡單。
3. 分散式包
圖源:unsplash
有了Deno,就不必依賴于NPM。我們不再需要package.json了,每個包都是從URL上加載的。
在NodeJS中,要使用包,就必須先從NPM安裝:
npm i moment
等待安裝,然后將其包含在應用程序中:
const moment = require("moment")
此外,不論何時,如果有人想在本地運行NodeJS 庫,就必須得從NPM安裝所有依賴項。在Deno中,包是從URL中導入的,所以如果想要使用moment,只需導入網址:
https://deno.land/x/moment/moment.ts.
在包的方面,Deno另一個巨大的優勢,在于每個包在安裝后都緩存在硬盤上,這意味著一個包的安裝只發生一次。如果要在任何位置再次導入依賴項,則無需再次下載。
4. TypeScript在本機工作,無需配置。
讓TypeScript與NodeJS一起工作需要多個步驟。讀者必須安裝typescript,升級package.json和tsconfig.json,并確保模塊支持@types。
在Deno中,所有需要做的就是將文件后綴保存為.ts而不是.js,TypeScript編譯器已經內置。
5. 訪問瀏覽器API (Window, Fetch)
要在Javascript中發出HTTP請求,可以使用Fetch API。在NodeJS中,沒有訪問瀏覽器API的權限,因此不能本地調用fetch函數。必須首先安裝包:
npm i node-fetch
然后導入包:
const fetch =require("node-fetch")
只有這樣才能調用fetch函數。
而本地Deno就有權訪問對象,這意味著讀者可以無需安裝任何庫,直接調用fetch("https://something.com"),以及瀏覽器API中的任何內容。當與頂層await優勢結合,你可以看出,Deno代碼比Node代碼簡潔了多少:
2020年編寫Javascript代碼的方式
不止于此,Deno還有很多其他的優點,比如在默認情況下更安全,可以執行Wasm二進制文件,有許多內置庫,等等。
圖源:unsplash
文中所提到的要點都是互相關聯的,共同組成了一個更為現代的2020后端JavaScript運行時刻。作為一個React開發人員,筆者更偏愛Deno。
現在,筆者可以使用import語句,不論何處都可以使用 await,無需任何配置就可以使用TypeScript,甚至無需安裝包就可以調用fetch。一切都很簡單。
另一個問題是,Deno最終會取代Node嗎?或許吧,但可能需要幾年時間。NodeJS生態系統很龐大,Deno需要時間來趕上。
關于Javascript開發人員更喜歡Deno的五大原因是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。