成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Deno VS Node:Javascript開發人員更喜歡前者的五大原因

開發 前端
相較Node而言,一起看看JavaScript開發人員使用Deno體驗更流暢和更現代的五大原因。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)

為了解決Node的許多缺點,NodeJS的開發者 Ryan Dahl,發布了一個新的運行時刻。

人們最初的反應可能是:“太棒了,另一個Javascript框架?正是我需要的。”筆者也有過同樣的反應。在了解其優點之后,筆者更清晰地明白了為什么說Deno正是年后端Javascript開發人員所需要的。

相較Node而言,一起看看JavaScript開發人員使用Deno體驗更流暢和更現代的五大原因。

[[331286]]

1.Modern Javascript —ES 模塊

Deno VS Node:Javascript開發人員更喜歡前者的五大原因

如果你也是個React開發人員,那么應該已經注意到了,在使用NodeJS時導入包的語法是不同的。這是因為Node是在2009年開發的,從那時起,針對Javascript進行了很多更新和改進。

在React(和Deno)中,使用現代的import package from 'package'語句,而在Node中,使用const package = require("package")語句。

ES模塊導入的優越性源于兩個方面:

  • 通過import,可以有選擇地僅從包中加載所需的片段,這樣可以節省內存。
  • 加載與require同步,而import異步加載模塊,這提高了性能。

2. 頂級await —在異步函數之外使用 await

Deno VS Node:Javascript開發人員更喜歡前者的五大原因

在Node中,await關鍵字只能在異步函數中訪問。但是在Deno中,不論在何地,面對什么對象,都可以使用await,而無需將其打包為異步函數。

幾乎所有的Javascript應用程序都包含許多異步函數。這次升級使代碼更加干凈和簡單。

3. 分散式包

[[331287]]

圖源:unsplash

有了Deno,就不必依賴于NPM。我們不再需要package.json了,每個包都是從URL上加載的。

在NodeJS中,要使用包,就必須先從NPM安裝:

  1. npm i moment 

等待安裝,然后將其包含在應用程序中:

  1. const moment = require("moment") 

此外,不論何時,如果有人想在本地運行NodeJS 庫,就必須得從NPM安裝所有依賴項。在Deno中,包是從URL中導入的,所以如果想要使用moment,只需導入網址:

https://deno.land/x/moment/moment.ts.

Deno VS Node:Javascript開發人員更喜歡前者的五大原因

在包的方面,Deno另一個巨大的優勢,在于每個包在安裝后都緩存在硬盤上,這意味著一個包的安裝只發生一次。如果要在任何位置再次導入依賴項,則無需再次下載。

4. TypeScript在本機工作,無需配置。

Deno VS Node:Javascript開發人員更喜歡前者的五大原因

讓TypeScript與NodeJS一起工作需要多個步驟。讀者必須安裝typescript,升級package.json和tsconfig.json,并確保模塊支持@types。

在Deno中,所有需要做的就是將文件后綴保存為.ts而不是.js,TypeScript編譯器已經內置。

5. 訪問瀏覽器API (Window, Fetch)

要在Javascript中發出HTTP請求,可以使用Fetch API。在NodeJS中,沒有訪問瀏覽器API的權限,因此不能本地調用fetch函數。必須首先安裝包:

  1. npm i node-fetch 

然后導入包:

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

只有這樣才能調用fetch函數。

而本地Deno就有權訪問對象,這意味著讀者可以無需安裝任何庫,直接調用fetch("https://something.com"),以及瀏覽器API中的任何內容。當與頂層await優勢結合,你可以看出,Deno代碼比Node代碼簡潔了多少:

Deno VS Node:Javascript開發人員更喜歡前者的五大原因

2020年編寫Javascript代碼的方式

不止于此,Deno還有很多其他的優點,比如在默認情況下更安全,可以執行Wasm二進制文件,有許多內置庫,等等。

[[331289]]

圖源:unsplash

文中所提到的要點都是互相關聯的,共同組成了一個更為現代的2020后端JavaScript運行時刻。作為一個React開發人員,筆者更偏愛Deno。

現在,筆者可以使用import語句,不論何處都可以使用 await,無需任何配置就可以使用TypeScript,甚至無需安裝包就可以調用fetch。一切都很簡單。

另一個問題是,Deno最終會取代Node嗎?或許吧,但可能需要幾年時間。NodeJS生態系統很龐大,Deno需要時間來趕上。但趨勢就是Deno正變得更受歡迎,如果你正要開始一個新項目,不妨試試它。

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-06-15 08:29:14

JavaScript開發技術

2021-04-18 18:12:07

Linux開發操作系統

2022-09-12 15:51:38

JavaScrip開發編程語言

2023-04-20 15:01:01

光纖銅纜

2010-10-27 09:33:18

MVC開發

2012-06-13 01:37:40

JSPJava

2022-04-30 08:58:00

SpringJava開發

2015-03-11 09:55:12

2023-01-11 12:14:50

NeoVimVim開發

2012-12-14 08:55:45

開發人員產品經理

2021-03-16 06:40:43

開源工具開源Node.js

2013-01-10 10:30:36

云開發

2022-03-03 23:30:27

TypeScrip開發前端

2020-12-25 12:27:56

WebBrackets文本編輯器

2024-11-08 15:22:08

2024-05-14 15:04:04

ChatGPT人工智能大型語言模型

2019-07-19 11:27:42

Java程序員技術

2013-07-03 09:54:54

Android蘋果市場份額

2021-02-16 16:44:40

RustJavaScript開發

2011-09-21 09:40:57

軟件項目
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲经典一区 | 日韩国产精品一区二区三区 | 精品在线99| 久久综合伊人 | 亚洲成人一区二区三区 | 成人免费视频 | 欧美一级精品片在线看 | av影音资源 | 国产精品久久久久久久久久久免费看 | 一道本不卡 | 中文字幕一区二区三区精彩视频 | 久久精品视频一区二区三区 | 免费的色网站 | 一区二区三区高清 | 天堂色| www.四虎.com | www.久久| 99精品久久久久久中文字幕 | 国产精品一区视频 | 午夜在线观看视频 | 一区二区三区免费在线观看 | 欧美亚洲另类丝袜综合网动图 | 一区二区三区精品视频 | 欧美精品一区在线 | 欧美中国少妇xxx性高请视频 | 色婷婷av一区二区三区软件 | 国产成人一区二区三区精 | 日韩av一二三区 | 日本在线网址 | 综合色婷婷 | 国产不卡在线播放 | 国产免费一区二区三区 | 久久www免费人成看片高清 | 中文字幕免费 | 国产97在线看 | 99re热这里只有精品视频 | 国产精品v| 91精品国产91久久久久久最新 | 狠狠av| 精品日韩一区二区三区av动图 | 欧洲免费视频 |