nodejs是否支援es6

2022-10-18 22:01:24

nodejs支援es6。Node.js是針對現代版本的V8構建的,它與V8引擎的最新版本是保持同步的,能及時將JavaScript ECMA-262規範中的新功能提供給Node.js開發人員,並持續改進效能和穩定性;也就是說,node支援es6相關語法,並且會不斷迭代和優化效能。

node.js極速入門課程:進入學習

本教學操作環境:windows7系統、ECMAScript 6&&nodejs16版、Dell G3電腦。

nodejs是否支援es6語法呢,網上搜尋大部分答案是要基於babel轉一下才能支援,

其實目前nodejs的版本已經支援了es6語法了

【es6語法支援】

在nodejs官網可以看到關於es6支援的介紹,

ECMAScript 2015 (ES6) and beyond | Node.js

1.png

基於v8引擎

Node.js 是針對現代版本的V8構建的。通過與該引擎的最新版本保持同步,我們確保及時將JavaScript ECMA-262 規範中的新功能提供給 Node.js 開發人員,並持續改進效能和穩定性。

所以支援es6相關語法,並且會不斷迭代和優化效能.

es6語法分級支援

es6語法分級,包括shipping,staged,in progress這幾種級別,

shipping級別的語法,在nodejs上預設支援

staged級別的語法,在nodejs需要通過引數支援,--harmony

in progress級別的語法,建議不要使用

3.png

【nodejs支援es6語法查詢】

在下面這個網站可以方便的查詢到nodejs支援的es6語法

Node.js ES2015/ES6, ES2016 and ES2017 support

4.png

【es6 modules的支援】

nodejs原本支援commonjs的模組化規範,就是require這型別的

如果想要使用es6 export import的模組化規範,需要怎麼做呢

可以參考這裡:Modules: ECMAScript modules | Node.js v16.14.2 Documentation

啟用的方式:將檔案修改為mjs字尾,或者修改package.json中的type值

需檢查是否滿足以下條件:

1、確保安裝了 v14.15.1 或更高版本的 node.js

2、命令初始化 package.json

npm init -y
登入後複製

3、在 package.json 的根節點中新增

"type":"module",
登入後複製

在完成以上動作後,就可以在 VS Code 的終端裡執行類似以下命令:

node .\02.預設匯入.js
登入後複製

5.png

【基於es6開發nodejs npm包】

還有一種場景是要開發nodejs環境使用的npm包,但是想用es6語法,包括es6的模組化

而使用上述mjs的方式不是很方便,解決方案是使用rollup這個打包工具

rollup.js

通過rollup可以方便的將es6寫的npm包到處為commonjs的規範

使用也比較簡單

6.png

【總結】

1、開發nodejs業務

開發nodejs業務,可以直接使用es6語法+commonjs的模組化

2、開發nodejs npm包

開發nodejs npm包,可以使用es6語法寫npm包原始碼,然後使用rollup匯出為commonjs規範的包,然後釋出

更多node相關知識,請存取:!

以上就是nodejs是否支援es6的詳細內容,更多請關注TW511.COM其它相關文章!