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

Node.js 開始反擊了,看看 Node.js 近來都引入了哪些實用功能!

開發 前端
近來 Node.js 已經在很努力的更新了,相信未來越來越多更現代化的功能被 Node.js 支持。與此同時,Bun 和 Deno 也在迅猛崛起。

2018 年,Node.js 之父 Ryan Dahl 推出了全新的 JavaScript 運行時 Deno,旨在解決Node.js中一些長期存在的問題,同時提供增強的安全性和現代語言特性。到了2022年,另一個名為 Bun 的 JavaScript 運行時橫空出世,在開發社區內引發了廣泛討論。

這兩個新興的運行時之所以受到如此多的關注,很大程度上反映了開發者們對Node.js現狀的不滿以及對新解決方案的渴望,然而,盡管它們帶來了許多創新和改進,但由于歷史原因以及 Node.js 龐大的生態系統構建等因素,許多開發者仍然持觀望態度。

面對這些新興競爭者的挑戰,Node.js 似乎感受到了前所未有的危機感,開始反擊,推出了一系列實用功能,解決了許多痛點問題。下面就來看看 Node.js 近來都引入了哪些實用功能!

Node.js v20.0

  • 權限模型(實驗性功能):Node.js 20 引入了權限模型,它允許開發者在程序執行期間限制對特定資源的訪問,例如文件系統操作、子進程生成和工作線程創建。
  • 原生測試運行器:Node.js 20 中,test_runner模塊被標記為穩定,這意味著它已經準備好用于生產環境。穩定的測試運行器包括編寫和運行測試所需的基本組件,如describe、it/test和鉤子來構建測試文件、模擬、監視模式以及node --test用于并行運行多個測試文件。

Node.js v20.6

  • 原生支持 .env 文件:引入了對.env文件的原生支持,允許開發者直接在Node.js中使用.env文件配置環境變量,無需依賴第三方模塊(如dotenv)。

Node.js v21.0

  • 內置 WebSocket 客戶端(實驗性功能): Node.js v21.0提供了一個實驗性的、與瀏覽器兼容的WebSocket實現。開發者可以通過標志(--experimental-websocket)啟用該功能,從而更方便地在Node.js環境中使用WebSocket。
  • 自由切換默認模塊系統(實驗性功能): 引入了一個新的實驗性標志(--experimental-default-type),用于切換Node.js使用的默認模塊系統。這一功能允許開發者在ES模塊和CommonJS之間靈活切換,以滿足不同的項目需求。

Node.js v21.7

  • 內置彩色文本輸出: 支持通過console.log間接輸出彩色文本,無需再引入第三方庫(如 chalk),可以通過util.styleText函數來設置文本的顏色和樣式。
  • 環境變量功能增強:新增了兩個API來加載和解析環境變量
  • process.loadEnvFile(path)用于加載指定路徑的.env文件。如果未指定路徑,則會自動加載當前目錄下的.env文件。
  • util.parseEnv(content)用于解析包含環境變量賦值的字符。

Node.js v22.0

  • 監聽模式: 從Node.js 22版本開始,觀察模式(node --watch)已經穩定。在監聽模式下,當被監視的文件發生變化時,Node.js進程將自動重新啟動,不再需要借助第三方模塊(如 nodemon)。
  • 內置 WebSocket 客戶端(穩定版): 內置 WebSocket 客戶端成為于穩定功能,不再需要--experimental-websocket標志來啟用。WebSocket的實現遵循了瀏覽器中WebSocket API的標準,這意味著在Node.js中使用WebSocket的方式將與在JavaScript中使用WebSocket的方式非常相似。
  • 支持通過require()引入ESM :打破了CommonJS與ESM之間的界限,允許開發者使用require()函數來導入ESM 模塊。這為大型項目和遺留系統提供了一個平滑過渡的方案,因為它們可以逐個模塊遷移到ESM,而不是一次性對整個項目進行修改。
  • 支持運行 package.json 中的腳本: 添加了一個新命令行標志--run,允許直接從命令行執行package.json中定義的腳本。這提供了一個標準化的方式執行腳本,有助于統一不同包管理器在處理腳本時的行為,并且直接使用node執行腳本要比通過npm執行腳本更快。

Node.js v22.5

  • 支持 SQLite 數據庫(實驗性功能):在這個版本中,Node.js自帶了SQLite模塊,開發者可以直接在程序中使用SQLite數據庫,而無需引入第三方庫。

Node.js v22.6

  • 原生支持TypeScript(實驗性功能):通過--experimental-strip-types標志,實現了對TypeScript的實驗性支持。這意味著開發者們現在可以在Node.js環境中直接執行.ts文件,而無需進行額外的編譯步驟。然而,需要注意的是,當前的實驗性支持有一些限制,例如僅支持內聯類型注釋,不支持像 enums、namespaces 這樣的高級TypeScript功能。此外,Node.js不會讀取tsconfig.json文件,因此在運行時不會進行類型校驗。
  • 網絡檢測支持(實驗性功能): 為 Node.js 引入了網絡檢查的初步支持。這是一個實驗性功能,需要使用--experimental-network-inspection標志來啟用它。啟用此功能后,可以檢查 JavaScript 應用中發生的網絡活動。不過,目前網絡檢查僅限于http和https模塊。

Node.js v23.0

  • 原生支持 ES 模塊:Node.js v23.0最大的亮點之一是原生支持通過require()加載 ES 模塊(ECMAScript Modules)。這意味著開發者可以直接使用require()來加載ES模塊,而無需額外的工具或配置。
  • 停止支持 32 位Windows系統:不再支持32位Windows,專注于現代環境。

小結

近來 Node.js 已經在很努力的更新了,相信未來越來越多更現代化的功能被 Node.js 支持。與此同時,Bun 和 Deno 也在迅猛崛起。值得注意的是,Bun 的目標不僅限于作為一個 JavaScript 運行時,它更致力于構建一個全面的 JavaScript 工具鏈。這三者之間的競爭,無疑加速了各自的創新步伐,未嘗不是一件好事。

責任編輯:姜華 來源: 前端充電寶
相關推薦

2021-10-26 06:43:36

NodeJavaScript引擎

2013-11-01 09:34:56

Node.js技術

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2011-09-08 13:46:14

node.js

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-09 14:23:13

Node.js

2011-11-10 08:55:00

Node.js

2012-10-24 14:56:30

IBMdw

2021-12-25 22:29:57

Node.js 微任務處理事件循環

2014-02-19 16:28:53

Node.jsWeb工具

2020-05-29 15:33:28

Node.js框架JavaScript

2015-06-23 15:27:53

HproseNode.js

2012-02-03 09:25:39

Node.js

2020-10-26 08:34:13

Node.jsCORS前端

2021-04-06 10:15:29

Node.jsHooks前端

2024-07-08 08:53:52

2021-02-01 15:42:45

Node.jsSQL應用程序

2021-07-09 00:24:10

No.jsNode.js原理

2023-08-29 09:43:21

Node.js.env
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜视频在线免费观看 | 国产ts人妖系列高潮 | 韩日精品视频 | 国产日韩精品视频 | 中文字幕在线国产 | 国产黄色小视频在线观看 | 中文字幕在线第一页 | 亚洲成a人片 | 欧美综合在线观看 | 亚洲成人av | 人人99 | 男女黄网站 | 成人毛片在线视频 | 欧美色专区 | 91新视频| 国产精品久久亚洲 | 在线观看中文字幕 | 天天色天天射天天干 | 欧美xxxx黑人又粗又长 | 日韩成人影院在线观看 | 精品久久久久久亚洲精品 | 在线免费观看毛片 | 久久久123 | 91久久久www播放日本观看 | 精品丝袜在线 | 成人妇女免费播放久久久 | 91麻豆精品国产91久久久更新资源速度超快 | 欧美中文一区 | 天天操,夜夜爽 | 99精品欧美一区二区三区 | 亚洲精品久久久9婷婷中文字幕 | 国产精品国产a级 | 91精品久久久久久久久久入口 | 手机av在线| 日韩电影免费观看中文字幕 | 中文字幕爱爱视频 | 黄色免费在线观看网址 | 欧美一级二级三级 | 久草免费在线 | 国产精品一区二区久久久久 | 久久国产秒 |