作者:Tobias Uhlig翻译:疯狂的技术宅
原文:https://medium.com/@tobiasuhl...
未经允许严禁转载
Google 于 2020 年 2 月 4 日星期二发布了 Chrome v80。我一直在等待这个特定版本的发布,它是过去很长时间以来发布的最重要的主要版本。
Chrome平台状态 www.chromestatus.com
什么是 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://neomjs.github.io/pages/
接下来是什么?
如果你查看了发布时间表,可能已经注意到 Chrome v81 计划于 3 月 17 日发布。此版本将包括对共享 woker 的 JS 模块支持。这是制作多浏览器窗口应用(例如可以在多个屏幕上运行的应用程序)的关键。
本文首发微信公众号:前端先锋
欢迎扫描二维码关注公众号,每天都给你推送新鲜的前端技术文章
欢迎继续阅读本专栏其它高赞文章:
- 深入理解Shadow DOM v1
- 一步步教你用 WebVR 实现虚拟现实游戏
- 13个帮你提高开发效率的现代CSS框架
- 快速上手BootstrapVue
- JavaScript引擎是如何工作的?从调用栈到Promise你需要知道的一切
- WebSocket实战:在 Node 和 React 之间进行实时通信
- 关于 Git 的 20 个面试题
- 深入解析 Node.js 的 console.log
- Node.js 究竟是什么?
- 30分钟用Node.js构建一个API服务器
- Javascript的对象拷贝
- 程序员30岁前月薪达不到30K,该何去何从
- 14个最好的 JavaScript 数据可视化库
- 8 个给前端的顶级 VS Code 扩展插件
- Node.js 多线程完全指南
- 把HTML转成PDF的4个方案及实现
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。