网络日志

前端周刊第三十三期

前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。 <span style="color:red;">如果外链不能访问,关注公众号前端每周看,里面有解决办法</span>

大事件

  • 当可替代的JS运行环境成熟时:Deno将发生重大变化,Bun 的创造者 Jarred Sumner成立了Oven—— 我们认为应该将两个不同的故事放在一起,因为它们提供了一个关于替代服务器端 JavaScript 运行时的开发,这些运行时不是Node.js,并且都在追求重叠的市场。Deno 的大新闻是他们正在努力提高 npm 的兼容性,并且很快 Deno 将能够使用大多数npm 模块(Deno 1.25已经发布了预览版)。与此同时,Bun 的创造者 Jarred Sumner 回应了我们的双关语祈祷,成立了Oven,一家支持 Bun 发展的公司,并已为此筹集了 700 万美元。
  • 关于 JS 的未来特性——Hemanth 是 TC39 代表,主持流行的TC39er 播客。在这个 25 分钟的演讲中,他简要介绍了各种当前的语言建议、它们的进展以及它们为何重要。
  • TypeScript 4.8 发布——JavaScript 的类型化超集继续流行。4.8 与其说是一场革命,不如说是一次次要的演变,但在推理、正确性和一致性、文件监视以及重建的严重加速方面做出了改进。
  • Crawlee:用于 Node.js 的新 Web 抓取/自动化库——看到一个新项目大张旗鼓地启动总是很不错的。Crawlee 获得了3 分钟的介绍性截屏视频、发布帖子和漂亮的主页。它建立在Puppeteer 和 Playwright 之类的基础之上,但可以处理代理、重试、蜘蛛、围绕块工作等。

文章

  1. 了解 React 重新渲染的时间和原因 — 如果您想从 React 应用程序中获得最佳性能,围绕渲染的过程非常重要,因此首先要了解React 重新渲染的原因和时间。
  2. 需要重新考虑的流行 Node.js 模式和工具? — Yoni 因其在Node 最佳实践编目方面的工作而闻名(当然值得一看!)但他认为我们应该随着时间的推移反思根深蒂固的方法。在这里,他提出了重新考虑的 9 种常见方法。
  3. 将Gatsby介绍为“响应式站点生成器”? — Gatsby 的新重点是使团队能够使用新架构快速部署内容,他们说这种架构允许 Gatsby Cloud 在不到一秒的时间内发布到其 CDN。这篇文章将 Gatsby 的“反应式站点生成”(RSG)方法与大多数传统方法进行了对比。

框架发布

  1. Solid 1.5 – 声明性和灵活的 JS UI 库。
  2. Fiddle 0.30 - 电子游乐场工具。
  3. Capacitor 4.1 - 跨平台的 JS 原生应用平台。
  4. Focus Trap 7.0 – 将焦点捕获在 DOM 节点(例如模式)中。
  5. Electron Packager 16.0 – 自定义和打包 Electron 应用程序。
  6. DOMPurify 2.4 – 用于 HTML 和 SVG 的快速、宽容的 XSS 清理器。
  7. vue-advanced-chat 2.0 – 不可知的聊天室组件。
  8. Soketi 1.4 – Node 上快速、有弹性的 WebSocket 服务器。
  9. Mineflayer 4.4 – 创建 Minecraft 机器人的 API。
  10. calendar-base 2.0 – 生成日历的基本方法。

代码和工具

  1. pico.js: 200 行 JS中的人脸检测库:基于 C 的人脸检测库的作者已将手转向 JavaScript,这就是最终结果。有一个运行良好的现场演示,链接的帖子详细解释了它是如何工作的。
  2. GopherJS: A Go(lang) to JavaScript Transpiler:最新的测试版将它提升到 Go 1.18(虽然目前还没有泛型,唉)和 ES6/ES2015 标准。如果您想快速玩,这里有一个在线游乐场。
  3. inappbrowser.com:查看应用内浏览器注入了什么 JS:这个想法很简单:您在选择的应用程序中共享 URL https://inappbrowser.com/,点击进入它,生成的登录页面会告诉您如果它检测到任何 JavaScript 或 CSS 不是它自己提供的。
  4. Node v16.17.0 (LTS) Released:一个有用的 LTS 版本,具有几个现代向后移植的功能 — 这一次,16.x 用户可以访问util.parseArgsCLI 参数解析功能、实验性 ESM 加载程序挂钩 API,以及node:test模块和运行程序。
  5. NodeGui:使用 JS 和 CSS 构建跨平台桌面应用程序:与 Electron 不同的是使用 Qt GUI 框架,这会使事情变得更复杂,但在内存使用方面也更有效。