专栏首页京程一灯Chrome v80 发布:针对 Worker 的 JS 模块支持

Chrome v80 发布:针对 Worker 的 JS 模块支持

每日前端夜话第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

本文分享自微信公众号 - 前端先锋(jingchengyideng),作者:疯狂的技术宅

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 12个令人惊奇的CSS实验项目 [每日前端夜话(0x1D)]

    你可能认为 CSS 只是一种简单地为网页设计样式的语言,但它的功能比你想象的要多得多。 从逼真的图像到甚至是视频游戏,你会惊讶地看到一个优秀的开发者可以用 CS...

    疯狂的技术宅
  • 初探新的 JavaScript 并行特性

    简介——我们给 JavaScript 添加了一个 API,开发者可以在 JavaScript 中使用多个 worker 和共享内存来实现真正的并行算法。

    疯狂的技术宅
  • 你无法检测到触摸屏

    无论你可能会怎么想,目前,在浏览器里可靠地检测当前的设备是否有一个触摸屏是不可能的。

    疯狂的技术宅
  • K-means算法及python实现

            K-means(Thek-meansalgorithm)是机器学习十大经典算法之一,同时也是最为经典的无监督聚类(Unsupervised Cl...

    Flaneur
  • 《SpringMVC从入门到放肆》十一、SpringMVC注解式开发处理器方法返回值

    若处理器方法处理完后,需要跳转到其它资源,且又要在跳转资源之间传递数据,此时处理器方法返回ModelAndView较好。在使用时,若该处理器方法只是进行跳转而不...

    I Tech You_我教你
  • Python|什么是Scrapy

    Scrapy是用纯Python实现一个为了爬取网站数据,提取结构性数据而编写的应用框架,用途非常广泛。利用框架,用户只需要定制开发几个模块就可以轻松的实现一个爬...

    算法与编程之美
  • java之spring mvc之helloworld

    5. 编写 spring mvc 配置文件,该配置文件默认放于 WEB-INF 下,并且文件名为 前端控制器名-servlet.xml

    Vincent-yuan
  • Dan pitt:2015年SDN发展预测

    编者按:开放网络基金会(ONF)旨在推动软件定义网络(SDN)的发展,推动网络的进步,开放网络基金会执行主席Dan Pitt就2015年SDN发展作出了如下预测...

    SDNLAB
  • 高效遍历Java容器

    通过本文,你可以更深入的学习 Java 语言中 forEach 语法的知识,以及它和 C 语言形式的 for 循环、 Steam API 的对比。

    Java团长
  • Java集合循环性能比较

    Java开发人员通常处理ArrayList和HashSet等集合。Java 8附带了lambda和streaming API,帮助我们轻松处理集合。在大多数情况...

    程序你好

扫码关注云+社区

领取腾讯云代金券