Node.js 計畫支援ES6 模組:深入了解
Node.js JavaScript 執行時間環境長期以來一直支援CommonJS 模組用於載入外部代碼。然而,隨著 ES6 (ECMAScript 2015) 的出現,原生模組支援的引入引發了一個問題:Node.js 會接受導入/導出模組嗎?
Node.js 13.2.0 及以後
從 Node.js 13.2.0 開始,引入了對 ES 模組的支持,而無需實驗性標誌。啟用 ECMAScript 模組 (ESM) 支援涉及將 package.json 檔案設定為:
{ "type": "module" }
所有帶有 .js、.mjs 或沒有副檔名的檔案將被視為 ESM。啟用 ES 模組的替代方法也可用,並記錄在發行說明中。
Node.js 13.1.0 及更早版本
對於較舊的Node.js 版本,[esm](https://github.com/standard -things/esm) 模組載入器提供了ES 的生產就緒實作模組:
node -r esm main.js
歷史發展時間表
2019年4月23日
ECMAScript檢測機制更新模組被集成,引入了package.type 的選項(模組或commonjs)以及新的選項指定入口點類型和模組說明符分辨率。
2019 年1 月17 日
Node.js 11.6.0 包含ES 模組作為實驗性功能,使用以下標誌啟用:
node --experimental-modules index.mjs
計劃在v10.0 LTS 中刪除此標誌發布。
2017 年9 月13 日
Node.js 8.5.0 新增了對.mjs 檔案的支持,可在標誌後面存取:
node --experimental-modules index.mjs
初衷是在v10.0 LTS 中刪除此標誌發布。
2017 年 9 月 8 日
對 ESM 模組的初始支援已新增至 Node.js 主分支,可透過 --experimental-modules 標誌存取。
二月2017
Node.js 團隊宣布決定使用 .mjs 檔案副檔名作為破壞性最小的解決方案,讓 CommonJS 和 ES 模組共存。預計實施至少需要一年時間。
2016 年 10 月
TC-39 會議後,一位 Node.js 開發人員概述了實作 ES 模組的挑戰。關鍵問題包括靜態與動態分析、猴子修補和模組檢測。使用 *.mjs 擴充功能成為一種可能的解決方案。
2016 年之前
關於 Node.js 中 ES 模組支持的爭論已經持續了很長時間相當長的時期。各種提案和討論旨在解決 Node.js 和 HTML 的不同要求,同時適應新規範。
以上是Node.js 如何發展對 ES6 模組的支援?的詳細內容。更多資訊請關注PHP中文網其他相關文章!