日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Javascript開發(fā)人員偏愛Deno而不是Node的5大原因

 NodeJS的作者Ryan Dahl發(fā)布了一個新的運行時,旨在解決Node的許多缺點。你最初的反應(yīng)可能是“哦,太棒了,另一個Javascript框架?正是我所需要的...”。別擔(dān)心,我也有同樣的反應(yīng)。在了解了優(yōu)勢之后,我也看到了為什么Deno正是2020年后端Javascript開發(fā)人員所需要的。讓我們來看看javascript開發(fā)人員使用Deno vs. Node獲得更流暢,更現(xiàn)代的體驗的5大原因。

1.現(xiàn)代Javascript——ES Modules

如果你是像我這樣的React開發(fā)人員,你會注意到使用NodeJS導(dǎo)入軟件包的語法是不同的。這是因為Node于2009年問世,此后對Javascript進行了大量更新和改進。

在React(和Deno)中,我們使用 import package from 'package' 語法導(dǎo)入包,而在Node中,我們使用const package = require("package") 語法。

ES Modules導(dǎo)入的優(yōu)勢在于兩個原因:

  1. 使用 import,可以有選擇地只從包中加載需要的部分,這節(jié)省了內(nèi)存。
  2. 加載與 require 同步,而 import 則異步加載模塊,從而提高了性能。

如果你在上圖中注意到,我們正在從URL導(dǎo)入moment包,這將帶給我們Deno的下一個優(yōu)勢。

2.去中心化的包

使用Deno,不再依賴NPM。是的,不再需要 package.json,每個包都是從URL加載的。

在NodeJS中,要使用軟件包,必須首先從NPM安裝它:

 
 
 
 
  1. npm i moment 

等待它安裝,然后將其包含在你的應(yīng)用程序中:

 
 
 
 
  1. const moment = require("moment") 

另外,任何時候有人要在本地運行你的NodeJS倉庫時,都必須從NPM安裝所有依賴項。

在Deno中,該包是從URL導(dǎo)入的,因此,如果要使用moment,只需導(dǎo)入https://deno.land/x/moment/moment.ts。

關(guān)于Deno中軟件包的另一個巨大優(yōu)勢是,安裝后每個軟件包都緩存在硬盤驅(qū)動器上。這意味著軟件包的安裝僅發(fā)生一次,如果要在任何地方再次導(dǎo)入依賴項,則不必下載它。

3.TypeScript是原生的,不需要配置

讓TypeScript與NodeJS一起工作是一個多步驟的過程。你必須安裝TypeScript,更新package.json,tsconfig.json,并確保你的模塊支持@types。

在Deno中,你所要做的就是將文件另存為 .ts 而不是 .js,TypeScript編譯器已經(jīng)安裝好了。

4.頂層await——在異步函數(shù)之外使用await功能

在Node中,只能在異步函數(shù)中訪問 await 關(guān)鍵字。

使用Deno,你可以隨時隨地 await 任何事情,而無需將其包裝在異步函數(shù)中。

幾乎所有Javascript應(yīng)用程序都包含許多異步函數(shù),這次升級使代碼更加干凈和簡單。

5.訪問瀏覽器API(Window,F(xiàn)etch)

要使用javascript發(fā)出HTTP請求,我們可以使用Fetch API。在NodeJS中,我們沒有訪問Browser API的權(quán)限,因此我們不能直接調(diào)用獲取函數(shù)。我們必須首先安裝該軟件包:

 
 
 
 
  1. npm i node-fetch 

然后導(dǎo)入包:

 
 
 
 
  1. const fetch = require("node-fetch") 

只有這樣,我們才能進行調(diào)用。

Deno原生有權(quán)訪問 window 對象,這意味著你可以繼續(xù)調(diào)用fetch(“ https://something.com”)以及Browser API中的任何其他對象,而無需安裝任何庫。

結(jié)合頂層的await優(yōu)勢,你現(xiàn)在可以看到Deno代碼比Node代碼簡單得多:

2020年以后編寫Javascript代碼的方式

并沒有就此結(jié)束

Deno還有許多其他優(yōu)點,例如默認情況下更安全,可以執(zhí)行Wasm二進制文件,具有許多內(nèi)置庫,并且列表還在繼續(xù)。

本文提到的所有要點都是相互聯(lián)系的,共同形成一個更現(xiàn)代的2020年后端javascript運行時。作為一個React開發(fā)人員,我與Deno共鳴?,F(xiàn)在,我可以使用導(dǎo)入語法,在任何需要的地方編寫await,使用TypeScript而不進行任何配置,甚至可以調(diào)用fetch而無需安裝軟件包。很簡單。

Deno最終會取代Node嗎?也許。這可能需要幾年時間。NodeJS生態(tài)系統(tǒng)非常龐大,Deno可能需要一些時間才能趕上。但是Javascript開發(fā)人員最近一直喜歡Deno的新項目,因此,如果你打算盡快開始一個新項目,那么絕對值得研究。有關(guān)如何開始的更多信息,請訪問deno.land。


文章名稱:Javascript開發(fā)人員偏愛Deno而不是Node的5大原因
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/coejoej.html