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

Javascript開發人員偏愛Deno而不是Node的5大原因

開發 前端
NodeJS的作者Ryan Dahl發布了一個新的運行時,旨在解決Node的許多缺點。你最初的反應可能是“哦,太棒了,另一個Javascript框架?正是我所需要的...”。別擔心,我也有同樣的反應。在了解了優勢之后,我也看到了為什么Deno正是2020年后端Javascript開發人員所需要的。

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

[[330086]]

1.現代Javascript——ES Modules

 

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

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

ES Modules導入的優勢在于兩個原因:

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

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

2.去中心化的包

使用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中軟件包的另一個巨大優勢是,安裝后每個軟件包都緩存在硬盤驅動器上。這意味著軟件包的安裝僅發生一次,如果要在任何地方再次導入依賴項,則不必下載它。

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

[[330087]]

 

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

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

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

 

在Node中,只能在異步函數中訪問 await 關鍵字。

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

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

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

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

 

  1. npm i node-fetch 

然后導入包:

 

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

只有這樣,我們才能進行調用。

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

結合頂層的await優勢,你現在可以看到Deno代碼比Node代碼簡單得多:

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

并沒有就此結束

Deno還有許多其他優點,例如默認情況下更安全,可以執行Wasm二進制文件,具有許多內置庫,并且列表還在繼續。

 

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

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

責任編輯:華軒 來源: 前端全棧開發者
相關推薦

2020-06-27 08:46:09

DenoNodeJavascript

2023-01-11 12:14:50

NeoVimVim開發

2021-02-16 16:44:40

RustJavaScript開發

2012-02-07 14:58:03

Node.js

2021-12-14 22:31:59

機器學習人工智能開發

2010-02-24 13:45:40

Python開發人員

2020-09-25 17:31:43

JavaScript開發技術

2015-08-20 09:57:38

JavaScript框架

2021-03-01 10:34:28

開發技能代碼

2020-05-11 09:54:33

JavaScript開發技術

2017-10-24 11:59:41

JavaScript

2021-11-30 17:37:14

ReactRedux

2020-06-28 09:56:48

.NET開發工具

2011-03-31 10:22:41

Java開發

2018-05-08 12:00:33

開發代碼Swift

2024-06-13 10:08:51

2022-09-12 15:51:38

JavaScrip開發編程語言

2010-08-09 16:09:25

2018-06-07 14:29:45

Windows電腦原因

2009-11-23 20:07:51

ibmdw開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产精品一区 | 日韩欧美久久 | 美女拍拍拍网站 | 欧美色综合一区二区三区 | 一a一片一级一片啪啪 | 91啪影院 | 日本精品一区二区三区视频 | 爱爱视频在线观看 | 婷婷在线免费 | 欧美v在线观看 | 亚洲综合小视频 | av手机在线免费观看 | 日韩av成人在线观看 | 成人永久免费视频 | 高清国产午夜精品久久久久久 | 精品国产青草久久久久福利 | 草久久久 | 国产精品99久久久久久久vr | 免费一区二区三区 | 国产一区精品在线 | 日本亚洲欧美 | 浮生影院免费观看中文版 | 一级a性色生活片久久毛片波多野 | 亚洲看片网站 | 成人免费大片黄在线播放 | 中国黄色毛片视频 | 欧美成人手机在线 | 成年人免费看 | jlzzjlzz欧美大全 | 日本粉嫩一区二区三区视频 | 久久精品国产免费一区二区三区 | 欧美一区二区免费 | 国产精品久久久久无码av | 狠狠亚洲| 激情欧美一区二区三区中文字幕 | 欧美爱爱视频网站 | 蜜桃一区二区三区在线 | 一区二区电影网 | 中文字幕第一页在线 | 成人在线精品视频 | 欧美成人免费在线视频 |