🌟 本周热点
Observable Notebooks 2.0 技术预览版发布
Observable Framework 和全新的 Notebook Kit 是一个丰富的响应式 JavaScript “笔记本”工具生态系统中的两个核心部分,旨在创建数据可视化(示例)和仪表盘。该项目最初由 Mike Bostock(D3.js 的作者)创建。此次发布的 v2 版本是一个巨大的进步,引入了基于 HTML 的新笔记本文件格式,并且首次支持原生 JavaScript,甚至可以使用 import 语句导入库。
这里有一个很酷的示例,展示了其巨大潜力。这个版本包含了很多新内容,值得深入探索。
过去十年中涌现的众多 JavaScript 运行时
一篇内容详实、研究深入的精彩文章,全面回顾了过去和现在各种各样的 JavaScript 运行时和引擎。文章不仅涵盖了像 Node.js 和 Bun 这样的主流选择,还介绍了云平台和其他一些较为小众的“荣誉提名”。这篇文章是了解 JavaScript 运行时发展历程的绝佳读物。
Node.js v22.18 (LTS) 默认启用类型擦除功能
通常我们不会特别报道 Node.js LTS 的小版本更新,但这次的更新带来了一个重大调整:默认启用了类型擦除(即 TypeScript 支持)。这意味着,现在你可以像在 Bun 或 Deno 中一样,直接通过 node app.ts 来运行 TypeScript 文件,无需额外配置。
💡 小提示: Node v24.5 (Current) 也已发布,其中 node:http(s) 模块现在支持代理,更新了 OpenSSL 到 3.5 版本,并正式移除了 --experimental-wasm-modules 实验性标志。
⚡️ 简讯
- 🕹️ LLM “低语者” Simon Willison 展示了他如何使用在本地 MacBook Pro 上运行的新 GLM-4.5 Air 模型,一次性实现了一个 JavaScript 版的《太空入侵者》游戏。你可以在这里试玩。
- 🔒 npm 现在允许你使用 OpenID Connect (OIDC) 进行身份验证,从而可以从 CI/CD 工作流中安全地发布 npm 包。
- 📊 Stack Overflow 2025 年开发者调查结果已经出炉。在最常用的编程语言中,JavaScript 依然位居榜首;React 则在最受欢迎的前端库中排名第一,而 jQuery 紧随其后位列第二。
- 🍃 Tailwind Plus 新增了对原生 JavaScript 的支持,现在无需依赖 Vue 或 React 即可使用。
🚀 新版发布
- ⭐ pnpm 10.14 – 高效的包管理器,新增了在
package.json中声明 Node.js、Deno 或 Bun 版本的功能,并能自动安装和固定该版本。 - Node-RED 4.1 – 基于 JavaScript 的强大低代码、流式编程平台,用于构建事件驱动的应用。
- Ionic 8.7 – 跨平台移动应用开发框架。
- Storybook 9.1 – 用于前端组件和 UI 的开发工作坊。
- TypeScript 5.9 RC – 最终版本即将发布。
- 其他更新包括: ESLint v9.32.0, Preact 10.27, Angular 20.1.4, Deno 2.4.3, React 19.1.1。
📖 文章与视频
- ▶️ Zod vs. Valibot: 一场 JS/TS 验证器对决 Zod 的作者都评论说:“非常棒的视频,你把所有东西都讲得如此简洁明了,令人惊叹。”(视频时长 12 分钟)
- 🧠 在脑海中编译 Svelte 5 Svelte 的工作方式与大多数 UI 框架不同,它会提前将代码编译成组件。那么,它在代码层面到底做了什么呢?
- ✍️ JavaScript 中的逻辑赋值运算符:小语法,大用处
如果你想掌握
||=、&&=和??=这些运算符,这篇文章会很有帮助。 - 📊 理解性能可扩展性 API (Performance Extensibility API) 性能可扩展性 API 允许我们在 Chrome DevTools 的性能面板中创建自定义轨道。本文介绍了如何利用它。
- 📺 Bun 的创造者谈论构建 Bun 及其与 Node.js 的兼容性
- 📄 多仓库下的 TypeScript 问题 – 解决跨仓库的类型安全问题。
- 📄
vi.mock是个“坑”:为什么vi.spyOn应该是你的首选 - 📄 如何使用 Matter.js 和 React Native Skia 构建 2D 游戏风格的物理效果
🛠️ 代码与工具
- Dependency Cruiser 17: 一种依赖可视化工具 如果你想看看它的输出效果,这里有一整页针对流行真实世界项目(如 Chalk、Yarn 和 React)生成的依赖图。
- TanStack DB: TanStack Query 的嵌入式客户端数据库 专为 React 开发者打造!TanStack DB 是一个嵌入式客户端数据库,它使用差分数据流来支持实时关系查询、亚毫秒级增量更新和乐观写入。这篇文章是一份极具说服力的介绍,首个 beta 版本现已可用。
- AudioTee.js: 用于 Node.js 的 macOS 系统音频捕获工具 这个工具封装了一个(内置的)由 Swift 驱动的二进制文件,可以捕获 Mac 系统的音频输出,并以固定的时间间隔将其作为 PCM 编码的数据块发出。GitHub 仓库在此。
🎁 彩蛋
- ✍️ 谷歌发布了一款名为 Google Sans Code 的全新开源代码字体。它的风格“柔和”,灵感源自谷歌的品牌形象。你也可以在 Google Fonts 上找到它,方便快速集成到你的网站中。
- 🧹 NPKILL 是一个广受欢迎的工具,用于查找和清理你电脑上日积月累的、臃肿的
node_modules文件夹。v1.0 版本即将发布,其作者正在考虑如何将其扩展到清理其他类型的杂乱文件。 - 🚀 Pete Matsyburka 演示了如何仅用几行代码就能让网站加载得更快,这得益于 Speculation Rules API(目前仅受基于 Chromium 的浏览器支持)。
- 💼 你的大型 JavaScript 项目是否需要经验丰富的专家来解决难题?npm 的创造者 Isaac Z. Schlueter 现在可以接受雇佣。
- 📺 如果你从未想过开发一个文本编辑器需要做些什么,▶️ Computerphile 的最新视频会让你大开眼界。
- 🤯 我必须佩服那些使用 C 语言预处理器宏来构建自己博客的人。