575 期 - 如何用代码分割来提高打包 JavaScript 时的性能
编辑:Matrixbirds、Yucohny、liu-jin-yi、Levi
🔥 本周热门
用 JavaScript 编写打印机驱动程序 — 作者讲述了用 JavaScript 编写打印机驱动程序的原因,以及分享了在编写过程中遇到的问题。
Dan Pastusek
Babel 发布 v7.17.0 — 该版本对 装饰器提案 的支持已稳定,还对装饰器的解析和转换进行了支持,有兴趣的小伙伴可以尝试下。同时,还对正则表达式提案新增的 v 标识进行了实现。
Babel Team
内存泄漏:被忽略的 Web 性能问题 — 我们应当重视处理内存泄漏问题,即使它的投入回报率总是会令人失望。
Nolan Lawson
快讯:
-
V8 v9.9 新版本重点改进了
Intl
API。 -
VSCode 的月度大更新 支持了在调试过程中,断点功能的筛选能力,可指定排除不需要关注的调用栈。
-
你在用
[].join(', ')
方法处理字符串合并场景吗?Eric Clemmons 有 一个优雅的代替方法。 -
React 核心开发者 Dan Abramov 发布 推文宣传 Sublime Text 4,并且将 VSCode 与之进行了对比。
-
Jest 是一个诞生于 Facebook,且非常流行的 JavaScript 测试框架。但是据传闻,多年来,工作在 Facebook(Meta)的员工没有一直使用 Jest 的。
版本发布:
MDX v2.0 – 将 Markdown 语法和 JSX 语法融为一体。
Partytown v0.3 – 将第三方脚本从主线程中移除。
Mongoose v6.2.0 – MongoDB ODM 库。
Recoil v0.6 – React 状态管理框架。
Commander.js v9.0 – Node.js 命令行框架。
CKEditor 5 v32.0 – 富文本编辑器框架。
ESLint v8.8.0
📒 教程与趣事
提升 VSCode 扩展插件的运行速度 — 这是一篇"小众但有趣"的文章,它深究了 VSCode 的底层架构模式,是所有扩展插件制作者的必读之作。
Jason Williams
用代码分割来提高打包 JavaScript 时的性能 — 本文主要讲解了代码分割的好处和注意事项,以及如何通过动态加载非关键的 JavaScript 包来提高页面性能和减少加载时间。
Adrian Bece
Web 框架到底解决了什么问题以及没有它们我们如何编程! — 本文深入探讨了框架中常见的一些技术特性,并解释了这些不同的框架如何实现这些特性,以及实现这些特性的成本。
Noam Rosenthal
Andrei Rusu
ui·dev
Kilian Valkhof
🛠 代码与工具
Sigma v2.2:一个图形绘图库 — 这是一个成熟的库,它适用于那些需要快速呈现包含数千个节点和边的巨大图形的用例。代码仓库 有一些不错的示例。
Alexis Jacomy
A-Frame v1.3:用于构建 WebVR 体验的框架 — 用于构建适用于 Vive、Rift、Quest 平台的虚拟现实体验的 Web 框架,同时适用于桌面端和移动端浏览器。
A-Frame VR Team
Electron v17 现已发布 — 基于 Chromium 98、Node 16.13.0、和 V8 9.8 实现的流行的跨平台桌面应用程序框架。
Michaela Laurencin and Keeley Hammond
Hotkey v2.0:按下键盘时触发某些操作 — 使用 Hotkey, 在网页元素上设置 data-hotkey
属性就能完成键盘快捷键的设置。v2.0 刚刚发布。
GitHub
imask.js v6.4.0:无依赖的 JavaScript 输入框验证器 — 与其验证用户输入的字段,不如阻止用户输入无效值。
imaskjs
lite-youtube:用于快速渲染 YouTube 嵌入式播放器的 Web 组件 — 这是 Shadow DOM 版本的 lite-youtube-embed,支持键盘操作和其他特色功能。
Justin Ribeiro
WebVM.io 带您直接进入基于 Web 的“无服务端”虚拟 Linux 环境 直接在您的浏览器中运行。 它由基于 JavaScript 和 WebAssembly 的 CheerpX x86 虚拟化引擎驱动。虽然它不是一个完全基于 JavaScript 的项目,但它很好地展示了 Web 技术的发展程度。它已经内置了 Node v10.24.0,但要注意它首次加载速度可能会有点慢。
如果你想要了解更多,这里有一篇关于它如何工作的文章。
注意:由于该程序比较耗费资源,建议用桌面端浏览器打开。