Node 12 值得關注的新特性

2022-05-07 12:51:08 字數 1583 閱讀 8154

前言

時隔一年,node.js 12 如約而至,正式發布第乙個 current 版本。

該版本帶來了諸如:

如果你不了解 node.js 的  long term support 發布策略的話,一定要看看  。

就目前而言,node.js 6.x 和 8.x 將在 2019 年末結束 lts 的支援,大家盡快公升級到 10.x 吧。

$ nvs add node/12

$ nvs use

12$ node -v

v12.

0.0

具體參考這篇文章:科普文:使用 nvs 管理本地 node.js 版本

本次版本更新,也帶來了好幾個不錯的特性:

同時,跑了下我們 egg 的一些內部測試,發現序列化有 10~20% 的效能提公升,恐怖如斯!

另,奇醜無比的 private class fields 也能用了:

class

increasingcounter

increment()

}

預設的 http 解析器切換為 llhttp ,效能提公升恐怖如斯:

通過 v8 code cache 的支援,在構建時提前為內建庫生成**快取,從而提公升 30% 的啟動耗時。

同時,通過重用主程序快取,workers threads 的啟動速度提公升了 60% 。

在 10.x 已經引入的 workers threads 特性,在 12.x 裡面預設啟用,無需使用--experimental-worker開啟。同時基於上一條的介紹,啟動的速度也得到大幅提公升。

相關介紹:

提供了新的實驗性功能『診斷報告』,乙個非常有用的特性。

以前我們分析問題的時候,需要手動安裝對應的類庫或者使用 alinode。

在 12.x 裡面內建了該功能,詳見:

同時,由於上述提到的 v8 公升級,現在可以按照可用記憶體動態調整堆大小了。

es6 模組仍然還在實驗階段,不過有了新的方式,具體參見這篇文章。

不過目前 node-gyp 的一些原生模組會編譯失敗:

[email protected][email protected] › fsevents@^1.2.7 optional error: error: run "

sh -c node install

" error, exit code 1

at childprocess.

(/users/tz/.npm-global/lib/node_modules/tnpm/node_modules/[email protected]@runscript/index.js:74:21

) at childprocess.emit (events.js:

196:13

) at maybeclose (

internal/child_process.js:1000:16

) at process.childprocess._handle.onexit (

internal/child_process.js:267:5)

本文摘抄至:egg.js 團隊  

若有侵權及時聯絡。

C 8 0的三個值得關注的新特性

本文翻譯自 c 語言是在2000發布的,至今已正式發布了7個版本,每個版本都包含了許多令人興奮的新特性和功能更新。同時,c 每個版本的發布都與同時期的 visual studio 以及 net 執行時版本高度耦合,這也有助於開發者更好的學習掌握 c 並將其與 visual studio 以及 net...

C 8 0的三個值得關注的新特性

c 語言是在2000發布的,至今已正式發布了7個版本,每個版本都包含了許多令人興奮的新特性和功能更新。同時,c 每個版本的發布都與同時期的 visual studio 以及 net 執行時版本高度耦合,這也有助於開發者更好的學習掌握 c 並將其與 visual studio 以及 net 的使用結合...

CocosBuilder 值得關注的乙個新專案

長久以來,cocos2d一直缺乏乙個好用的視覺化編輯工具,使用cocos2d的開發人員只能自己動手寫 來編輯場景,或者自己開發場景編輯器,這對於美術人員來說是乙個不小的挑戰,不像unity那樣對美術及策劃人員都非常友好。cocosbuilder專案還是乙個剛剛開始的專案,不過從截圖看,至少基本的場景...