Chrome v80 發布:針對 Worker 的 JS 模組支援
- 2020 年 2 月 18 日
- 筆記
每日前端夜話第278篇
翻譯:瘋狂的技術宅
作者:Tobias Uhlig
來源:medium

正文共:820 字
預計閱讀時間:5分鐘

Google 於 2020 年 2 月 4 日星期二發布了 Chrome v80。我一直在等待這個特定版本的發布,它是過去很長時間以來發布的最重要的主要版本。
Chrome平台狀態 www.chromestatus.com
(https://www.chromestatus.com/features/schedule)
什麼是 Javascript 模組?
一旦使用 ES6+ 的類系統,你很可能會自動使用 JS 模組:

如果你堅持「每個文件1個類」的設計模式,則很可能要導入擴展的基類。你也很可能希望在文件末尾導出新類。一旦使用 import 或 export 語句,你的文件就已經被視為 JS 模組。
JS 模組可以直接在瀏覽器中運行嗎?
在主執行緒內部,這已經在 Chrome,Firefox 和 Safari 中成為可能。在 Chrome 瀏覽器中使用 Web Worker 內部的 JS 模組已經有相當長的一段時間了,但是隱藏在實驗性標記的後面。現在有了 Chrome v80,終於可以直接使用了。
註:此舉會大大拉開 Chrome 與其他瀏覽器之間的距離。遺憾的是,儘管 FF 和 Safari 開發團隊已經將此功能計劃公開了好幾年,但是優先順序很低。
如何從 JS 模組創建 worker?
這由你決定。如果你想將 js 模組文件命名為 .mjs
或 .js
,請添加類型:module
是實現此目的的關鍵。

直接在瀏覽器內部使用 JS 模組有什麼好處?
你可以創建結構良好的程式,並在瀏覽器中運行它們,而無需任何與 JS 相關的構建過程。這意味著你可以更改源程式碼,而只是重新載入瀏覽器頁面,而無需 Webkit 監視文件更改和模組的熱更換。
已經有由 Web Worker 驅動的 JS UI 框架了嗎?
是的,neo.mjs 於 2019 年 11 月 23 日向公眾發布。
倉庫:
https://github.com/neomjs/neo
在線示例:
https://neomjs.github.io/pages/
接下來是什麼?
如果你查看了發布時間表,可能已經注意到 Chrome v81 計劃於 3 月 17 日發布。此版本將包括對共享 woker 的 JS 模組支援。這是製作多瀏覽器窗口應用(例如可以在多個螢幕上運行的應用程式)的關鍵。
原文:https://medium.com/@tobiasuhlig/chrome-v80-release-js-module-support-for-workers-a4a9397d194b