国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Deno 下一代JavaScript運(yùn)行時(shí)

這篇具有很好參考價(jià)值的文章主要介紹了Deno 下一代JavaScript運(yùn)行時(shí)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1、簡介

2、Deno 的特點(diǎn)

3、Deno 和 Node 的區(qū)別

4、TypeScript開箱即用

5、內(nèi)置的基本開發(fā)工具

獨(dú)立可執(zhí)行文件

測(cè)試運(yùn)行器

代碼格式化程序

代碼linter

?6、專為云而建

7、從瀏覽器到后端的一致代碼

TC39

WinterCG

8、高性能聯(lián)網(wǎng)

9、數(shù)百萬個(gè)社區(qū)模塊

10、相關(guān)框架


1、簡介

Deno是為執(zhí)行JavaScript和TypeScript而設(shè)計(jì)的安全運(yùn)行時(shí)。這個(gè)創(chuàng)新的運(yùn)行時(shí)出現(xiàn)在Node. js首次發(fā)布近9年后,Node.js是一個(gè)非常受歡迎的JavaScript運(yùn)行時(shí)。Node.js作為JavaScript運(yùn)行時(shí),使開發(fā)人員能夠在服務(wù)器端使用JavaScript,這是其廣泛采用的關(guān)鍵因子。JavaScript是一種歷史悠久的編程語言,是全球使用最廣泛的語言。

此外,Node. js擁有一個(gè)充滿活力和參與度的社區(qū),提供了大量強(qiáng)大的工具和庫,如Express.js和Socket.io,這些工具和庫簡化了Web應(yīng)用程序的創(chuàng)建。該運(yùn)行時(shí)還與實(shí)時(shí)應(yīng)用程序和新興的微服務(wù)架構(gòu)保持一致,這是當(dāng)代Web開發(fā)趨勢(shì)的特征。本質(zhì)上,Node.js因其適應(yīng)性、用戶友好性和社區(qū)堅(jiān)定不移的支持而廣受歡迎。
Deno 1.0于2020年5月首次亮相,由Node. js誕生背后的頭腦Ryan Dahl精心制作并賦予生命。雖然Deno和Node.js有某些相似之處,但它們也表現(xiàn)出獨(dú)特的功能。兩者都充當(dāng)服務(wù)器端運(yùn)行時(shí),在Deno的情況下支持TypeScript和JavaScript的執(zhí)行,在Node.js的情況下支持JavaScript的執(zhí)行(Node.js確實(shí)通過NPM包支持TypeScript,但不是開箱即用)。比較Deno和Node.js是不可避免的,Deno通常被視為Node.js的進(jìn)化繼承者。然而,Deno擁抱現(xiàn)代技術(shù),使其與眾不同。
雖然Node. js已經(jīng)鞏固了自己的地位,并在大公司和初創(chuàng)公司中享有信任,但Deno的存在仍然相對(duì)年輕。在撰寫本文時(shí),Deno已經(jīng)三歲了(截至2023年10月),已經(jīng)經(jīng)歷了37個(gè)版本,從1.0版到1.37版。然而,在成為Node.js的有力競爭者之前,它必須走過相當(dāng)長的道路。
在許多方面,Deno可以被視為Node. js的下一代對(duì)應(yīng)物。在深入研究Deno的內(nèi)部運(yùn)作之前,對(duì)其背景有一個(gè)基本的了解是有益的。

2、Deno 的特點(diǎn)

  • 默認(rèn)是安全的
  • 對(duì)TypeScript和JSX的原生支持
  • 開箱即用的測(cè)試、linting、格式化等功能
  • 使用Rust和Tokio的高性能異步I/O
  • 包括一組經(jīng)過審查的標(biāo)準(zhǔn)模塊,保證與Deno一起工作。
  • 僅發(fā)布單個(gè)可執(zhí)行文件。
  • 向后兼容Node.js和npm

目前Deno項(xiàng)目已超過90k的star數(shù),有250k+活躍開發(fā)者。

3、Deno 和 Node 的區(qū)別

從它們各自的特點(diǎn)來進(jìn)行對(duì)比。

Deno Node
數(shù)百萬個(gè)社區(qū)模塊 數(shù)百萬個(gè)社區(qū)模塊
基于V8 JavaScript引擎構(gòu)建 基于V8 JavaScript引擎構(gòu)建
默認(rèn)運(yùn)行時(shí)安全性 無粒度運(yùn)行時(shí)安全性
內(nèi)置TypeScript、JSX、formatter、linter和測(cè)試 依賴項(xiàng)和配置文件
易于嵌入Rust和Tokio 用C++實(shí)現(xiàn)更復(fù)雜的嵌入過程
使用Web標(biāo)準(zhǔn)API構(gòu)建 API覆蓋范圍不完整
綜合標(biāo)準(zhǔn)庫 有限標(biāo)準(zhǔn)庫

命令操作的差異:

Node.js Deno
node file.js deno run file.js
ts-node file.ts deno run file.ts
node -e deno eval
npm i -g deno install
npm i?/?npm install n/a
npm run deno task
eslint deno lint
prettier deno fmt
package.json deno.json?/?deno.jsonc?/?import_map.json
tsc deno check?2
typedoc deno doc
jest?/?ava?/?mocha?/?tap?/ etc deno test
nodemon deno run/lint/test --watch
nexe?/?pkg deno compile
npm explain deno info
nvm?/?n?/?fnm deno upgrade
tsserver deno lsp
nyc?/?c8?/?istanbul deno coverage
benchmarks deno bench

4、TypeScript開箱即用

Deno原生支持TypeScript和JSX等現(xiàn)代JavaScript擴(kuò)展,無需構(gòu)建步驟或額外配置。

  • 原生TypeScript支持,零配置
  • 使用最前沿的JavaScript功能
  • Visual Studio Code中的智能感知和自動(dòng)完成功能
  • 以TypeScript源代碼的形式發(fā)布和分發(fā)模塊

5、內(nèi)置的基本開發(fā)工具

獨(dú)立可執(zhí)行文件

立即從您的Deno程序創(chuàng)建獨(dú)立的可執(zhí)行文件。它甚至支持其他平臺(tái)的交叉編譯!

1、創(chuàng)建一個(gè)文件?server.ts,內(nèi)容如下所示:

Deno.serve(()=> new Response("hello world !!!"))

2、開始進(jìn)行編譯,如下所示:

 deno compile --allow-net server.ts

會(huì)在當(dāng)前目前生成一個(gè)可執(zhí)行文件,如下所示:

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

?啟動(dòng)服務(wù)

  • 雙擊點(diǎn)擊server.exe文件,如下所示

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

  • 或者執(zhí)行以下命令:
 ./server.exe

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

開始監(jiān)聽8000端口,在瀏覽器打開http://localhost:8000/,如下所示

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

測(cè)試運(yùn)行器

Deno提供了一個(gè)測(cè)試運(yùn)行器和斷言庫作為運(yùn)行時(shí)和標(biāo)準(zhǔn)庫的一部分。

// url_test.ts
import { assertEquals } from "https://deno.land/std@0.202.0/assert/mod.ts";

Deno.test("url test", () => {
  const url = new URL("./foo.js", "https://deno.land/");
  assertEquals(url.href, "https://deno.land/foo.js");
});
deno test url_test.ts

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

運(yùn)行以上命令,因?yàn)橐氲奈募沁h(yuǎn)程文件,所以先進(jìn)行下載到本地,并進(jìn)行緩存。

我們查看以下對(duì)應(yīng)的路徑。運(yùn)行如下命令:

deno info

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

可以查看下載的文件,轉(zhuǎn)換成了對(duì)應(yīng)的js文件,如下所示:

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript?可以打開對(duì)應(yīng)的js文件,最下面有對(duì)應(yīng)的映射路徑,

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

瀏覽器打開有映射的url地址,如下所示:

Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

代碼格式化程序

Deno附帶了一個(gè)內(nèi)置的代碼格式化程序,可以自動(dòng)格式化以下文件:

文件類型 擴(kuò)展
JavaScript .js
TypeScript .ts
JSX .jsx
TSX .tsx
Markdown .md,?.markdown
JSON .json
JSONC .jsonc

代碼linter

Deno附帶內(nèi)置代碼linter,可幫助您避免錯(cuò)誤和壞代碼。

deno lint --watch

?6、專為云而建

無論您是使用我們閃電般的Deno Deploy部署,還是在其他云提供商上部署,Deno都能簡化您的體驗(yàn)。它不僅僅是一個(gè)運(yùn)行時(shí);它是為云時(shí)代重新設(shè)計(jì)的JavaScript,提供了傳統(tǒng)容器的無縫替代品。

Deno Deploy部署將最簡單的方式來托管您的Deno項(xiàng)目。主要有以下特點(diǎn):

  • 全球分布式
  • 在幾秒鐘內(nèi)部署
  • 內(nèi)置鍵/值數(shù)據(jù)庫
  • 集成GitHub for CI/CD
  • 運(yùn)行靜態(tài)站點(diǎn)、應(yīng)用程序和邊緣函數(shù)

7、從瀏覽器到后端的一致代碼

?Deno盡可能提供Web標(biāo)準(zhǔn)API,最大限度地提高瀏覽器和服務(wù)器之間的代碼重用率,并確保代碼的未來性。 Deno積極參與TC39和WinterCG,以幫助推動(dòng)網(wǎng)絡(luò)向前發(fā)展。我們致力于在開放的環(huán)境中合作構(gòu)建JavaScript的未來。 ?

TC39

TC39是一個(gè)由JavaScript開發(fā)人員、實(shí)現(xiàn)人員、學(xué)者等組成的團(tuán)隊(duì),他們與社區(qū)合作維護(hù)和發(fā)展JavaScript的定義。

WinterCG

這個(gè)社區(qū)組旨在為JavaScript運(yùn)行時(shí)提供一個(gè)空間,以便在API互操作性方面進(jìn)行協(xié)作。我們專注于記錄和改進(jìn)Web平臺(tái)API跨運(yùn)行時(shí)(特別是非瀏覽器)的互操作性。這是通過運(yùn)行時(shí)之間的討論,規(guī)范場(chǎng)所(WHATWG,W3C)中對(duì)新Web API和當(dāng)前Web API的更改的建議以及現(xiàn)有運(yùn)行時(shí)行為的文檔來完成的。

8、高性能聯(lián)網(wǎng)

開箱即用支持:

  • HTTPS(加密)
  • WebSockets
  • HTTP2
  • 自動(dòng)響應(yīng)體壓縮
Deno和Node的吞吐量對(duì)比:
Deno 下一代JavaScript運(yùn)行時(shí),Deno,javascript,開發(fā)語言,ecmascript

Deno 1.36.1和Node 18.12.1中的“hello world”Web服務(wù)器的每秒請(qǐng)求量在Linux 8核Intel Xeon E-2378 G機(jī)器上使用wrk測(cè)量。

9、數(shù)百萬個(gè)社區(qū)模塊

Deno向后兼容Node.js內(nèi)置API和npm上的200多萬個(gè)模塊。將Node.js生態(tài)系統(tǒng)的精華帶到Deno。

10、相關(guān)框架

Fresh是一個(gè)現(xiàn)代的Web框架,為邊緣服務(wù)器上的Deno運(yùn)行時(shí)從頭設(shè)計(jì)。

  • 專為快速、可靠和簡單而設(shè)計(jì)
  • 實(shí)時(shí)渲染
  • 基于島的客戶端水化 實(shí)現(xiàn)最大的交互性
  • 零運(yùn)行時(shí)開銷 - 默認(rèn)情況下不向客戶端發(fā)送JavaScript

SaaSKit模板應(yīng)用建立在Fresh之上,包括身份驗(yàn)證、計(jì)費(fèi)等。文章來源地址http://www.zghlxwxcb.cn/news/detail-715444.html

  • ?使用oAuth 2.0進(jìn)行用戶身份驗(yàn)證
  • 通過Stripe執(zhí)行的經(jīng)常性付款
  • 預(yù)先構(gòu)建的會(huì)話和授權(quán)
  • 使用Deno KV實(shí)現(xiàn)快速、輕量級(jí)的持久性

到了這里,關(guān)于Deno 下一代JavaScript運(yùn)行時(shí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Web3和低代碼開發(fā):下一代Web應(yīng)用開發(fā)的合作與創(chuàng)新

    Web3和低代碼開發(fā):下一代Web應(yīng)用開發(fā)的合作與創(chuàng)新

    Web3作為區(qū)塊鏈技術(shù)的一部分,被認(rèn)為是下一代互聯(lián)網(wǎng)技術(shù)的主要方向。與此同時(shí),低代碼開發(fā)作為快捷而高效的軟件創(chuàng)建工具,也一直得到廣泛關(guān)注。那么,Web3和低代碼開發(fā)如何合作,激發(fā)出下一代Web應(yīng)用開發(fā)的新生力量呢? 當(dāng)我們談到Web3時(shí),我們一般指代分布式互聯(lián)網(wǎng)的

    2024年02月05日
    瀏覽(22)
  • PowerBuilder編程新思維10.5:外傳2(PowerPlume下一代開發(fā)解決方案)

    PowerBuilder編程新思維10.5:外傳2(PowerPlume下一代開發(fā)解決方案)

    萬里歸來年愈少 ? PB編程新思維10.5:外傳2(PowerPlume下一代解決方案) ? 今天我們就來盤點(diǎn)一下,PB下一代開發(fā)的所有技術(shù)可能性。所謂下一代開發(fā)技術(shù),就是指脫離或半脫離PBVM的應(yīng)用開發(fā)技術(shù),主要指后端。 ? ? ? 前端PB+JSON 前端PB+BLOB WEB 后端PBVM PbNode/Pbgo PbniServ,PowerSe

    2024年02月08日
    瀏覽(41)
  • OpenAI 推出用于下一代對(duì)話式 AI 開發(fā)的 ChatGPT 和 Whisper API

    OpenAI 推出用于下一代對(duì)話式 AI 開發(fā)的 ChatGPT 和 Whisper API

    人工智能已經(jīng)成為技術(shù)行業(yè)的推動(dòng)力,使機(jī)器能夠?qū)W習(xí)和執(zhí)行以前被認(rèn)為是人類獨(dú)有的任務(wù)。領(lǐng)先的 AI 研究機(jī)構(gòu) OpenAI 一直走在這場(chǎng)革命的最前沿,開發(fā)可以處理自然語言并生成類似人類文本的強(qiáng)大模型。其中一個(gè)模型是 ChatGPT API,它可以對(duì)文本輸入生成連貫且上下文相關(guān)的

    2024年02月09日
    瀏覽(19)
  • 任天堂開發(fā)全新獨(dú)立VR設(shè)備,或?yàn)橄乱淮鳈C(jī)?將提供混合現(xiàn)實(shí)體驗(yàn)

    任天堂開發(fā)全新獨(dú)立VR設(shè)備,或?yàn)橄乱淮鳈C(jī)?將提供混合現(xiàn)實(shí)體驗(yàn)

    根據(jù)爆料人Nash Weedle在X平臺(tái)上的發(fā)文,我們得知任天堂正在秘密開發(fā)一款全新的獨(dú)立VR設(shè)備,該設(shè)備將擁有一塊MicroLED屏幕,并且獨(dú)立于任天堂傳聞中的下一代主機(jī)。與此同時(shí),谷歌也參與了這款VR產(chǎn)品的研發(fā)工作。 這一新的VR設(shè)備被設(shè)計(jì)成適合家庭多人使用,它將提供混合現(xiàn)

    2024年02月09日
    瀏覽(24)
  • 下一代邊緣計(jì)算技術(shù)在哪里?

    下一代邊緣計(jì)算技術(shù)在哪里?

    掃描文末二維碼,立刻 免費(fèi) 報(bào)名 云網(wǎng)一體, 超大規(guī)模流量下 邊緣云 的架構(gòu)與技術(shù)揭秘 伴隨超高清視頻時(shí)代的開啟,熱點(diǎn)賽事、晚會(huì)直播等特殊場(chǎng)景的巨大流量對(duì)業(yè)務(wù)的帶寬儲(chǔ)備、節(jié)點(diǎn)資源、流量調(diào)度和安全保障能力提出了新的挑戰(zhàn)。 火山引擎邊緣云基于抖音世界杯、央

    2024年02月15日
    瀏覽(102)
  • 下一代網(wǎng)絡(luò)爬蟲:AI agents

    下一代網(wǎng)絡(luò)爬蟲:AI agents

    下一代網(wǎng)絡(luò)爬蟲是爬蟲級(jí) AI agents。 由于現(xiàn)代網(wǎng)頁的復(fù)雜性,現(xiàn)代爬蟲都傾向于使用高性能分布式 RPA,完全和真人一樣訪問網(wǎng)頁,采集數(shù)據(jù)。由于 AI 的成熟,RPA 工具也在升級(jí)為 AI agents。因此,網(wǎng)頁爬蟲的發(fā)展趨勢(shì)是爬蟲級(jí)智能體(AI agents),或者我喜歡稱為 數(shù)字超人 。 互聯(lián)

    2024年01月22日
    瀏覽(101)
  • Android 下一代架構(gòu)指南:DDD

    Android 下一代架構(gòu)指南:DDD

    移動(dòng)端架構(gòu)與網(wǎng)站架構(gòu)的區(qū)別是什么?網(wǎng)易新聞客戶端的架構(gòu)演進(jìn)歷程是怎樣的?為什么要選擇 DDD 思想來指導(dǎo)重構(gòu)?DDD 落地中應(yīng)當(dāng)關(guān)注哪些方面?帶著這些問題我們來看下文。(節(jié)選自網(wǎng)易新聞App架構(gòu)重構(gòu)實(shí)踐) 當(dāng)前,大多數(shù)移動(dòng)開發(fā)團(tuán)隊(duì)選擇以 MVP 作為業(yè)務(wù)層的核心架構(gòu)

    2023年04月10日
    瀏覽(97)
  • 邊緣計(jì)算:下一代計(jì)算模式的突破

    邊緣計(jì)算:下一代計(jì)算模式的突破

    ? 隨著物聯(lián)網(wǎng)、人工智能和大數(shù)據(jù)等技術(shù)的不斷發(fā)展,計(jì)算需求變得越來越復(fù)雜,傳統(tǒng)的云計(jì)算模式已經(jīng)難以滿足快速增長的數(shù)據(jù)處理需求。在這樣的背景下,邊緣計(jì)算作為一種全新的計(jì)算模式嶄露頭角,為我們帶來了更加靈活、高效的解決方案。本文將深入探討邊緣計(jì)算的

    2024年02月12日
    瀏覽(102)
  • 下一代Windows命名為Win 11?微軟的下一步要來了

    下一代Windows命名為Win 11?微軟的下一步要來了

    這包括一個(gè)新的開始菜單,新的系統(tǒng)圖標(biāo),文件資源管理器的改進(jìn),以及結(jié)束Windows 95時(shí)代的圖標(biāo),圓角和對(duì)內(nèi)置Windows應(yīng)用程序的更新也在計(jì)劃之中。 除了用戶界面之外,Windows的重大變化似乎也在穩(wěn)步進(jìn)行中。微軟似乎準(zhǔn)備解決很多揮之不去的問題,計(jì)劃對(duì)多個(gè)顯示器上的應(yīng)

    2024年04月12日
    瀏覽(98)
  • 下一代圖片格式AVIF,趕緊用起!

    下一代圖片格式AVIF,趕緊用起!

    介紹AVIF圖片格式的特點(diǎn)和在Web端顯示AVIF格式圖片的兩種方案。 AVIF是一種基于AV1視頻編碼的新圖像格式,相對(duì)于JPEG、Wep等圖片格式壓縮率更高,并且畫面細(xì)節(jié)更好。AVIF通過使用更現(xiàn)代的壓縮算法,在相同質(zhì)量的前提下,AVIF文件大小是JPEG文件的35%左右。 AVIF支持高動(dòng)態(tài)范圍(

    2024年02月05日
    瀏覽(89)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包