👇 今日要闻
打破信息壁垒,走近全球前端。Hello 大家好,我是林语冰。
Deno 是 Node 之父使用 Rust 语言重做的新一代 JS 运行时,旨在解决 Node 的历史包袱,和 Node、Bun 合称"JS 运行时三柱神"。
Deno 团队官宣 2.9 次版本正式发布,最核心的新功能是 deno desktop,支持基于 Web 技术栈打造原生桌面应用,无需 Electron 和 Tauri 等流行桌面应用框架。

此外,本次 Deno 还带来一大波新功能和改进,我们一起速览一下。
👉 生态兼容性
Deno 2.9 进一步提升了 Deno 和 Node、npm、pnpm 等生态的兼容性,确保项目迁移到 Deno 的阻力更小。

首先,Deno 的兼容目标升级到了 Node 26,现在能解析部分 Node 内置函数,无需配置,比如常用的 import "fs" 会被映射到 "node:fs",和 Node 用法一样。
此外,Node 部分 API 也被 Deno 实现了,比如:
node:test测试模块支持mock.timers和mock.module等 APInode:net网络模块的回调保留了AsyncLocalStorage上下文- 支持
process.resourceUsage()等进程等运行时 API
作为现代运行时,Deno 自己就是类似 npm 的包管理器。Deno 2.9 现在能解析 Node 项目的 package.json 包配置文件和 workspace 工作区结构。
这样,当你从 Node 项目中迁移到 Deno 时,相关配置都能被 Deno 正确解析,迁移过程更加丝滑。
👉 模块导入改进
前端工程中,我们惯用模块系统导入不同格式的文件,比如 .json 或 .css 等。
但这其实仰赖 Vite 等现代打包器的加持,JS 引擎本身并不支持导入 .js 之外的其他文件格式。

ES2025 开始支持 导入特性提案 ,允许导入 JSON 模块,这是第一种 ESM 支持的非 JS 文件,基本语法如下:

Deno 2.9 基于导入特性提案更进一步,现在也支持导入 CSS 文件。
使用 ESM 导入 .css 文件作为结构化样式表,基本语法如下:

这里的导入结果解析为一个 CSSStyleSheet 样式表实例,即使不借助 Vite 等打包器,代码也能同时跑在浏览器或 Deno 运行时中,省略打包构建步骤。
👉 供应链安全
前端生态近年来供应链攻击屡见不鲜,axios 等流行模块噩耗频传。为此,Deno 2.9 增强了供应链安全。

Deno 现在支持 min-release-age 最小发布时限配置,它会拒绝安装早于指定时限发布的新版 npm 模块。
这是因为很多代码投毒之类的供应链攻击在新版本发布后的 1~2 天内都能被检测出来,因此,只要拖延到高风险时间段之后再安装新版本,用户就能躲避大多数供应链攻击。
Deno 2.6 开始就支持选用 min-release-age 配置,现在 Deno 2.9 默认直接启用,并将最小发布时限设置为 24 小时,也就是一天之内发布的新版本都会被拒绝更新。
Deno 支持在 .npmrc 中按需配置,你的配置优先级能覆盖 Deno 默认的保护性配置,比如:

此外,Deno 2.9 新增了可选的 npm 信任策略,这能防止黑客盗用库作者的权限发布模块的攻击。
Deno 沿用了 pnpm 的设计,对版本发布的信任程度进行定级:
- 阶段式发布,库作者使用 2FA 双因认证发布,安全等级最高
- 携带来源证明的可信发布,安全等级次之
- 单独的来源证明,安全等级较低
Deno 默认禁用信任策略,你可以在 .npmrc 中按需启用:

这样,当某模块以前习惯较高的安全等级发布,但新版本突然降低安全等级发布时,Deno 会拒绝无脑升级新版本,因为该模块可能已经被黑客盗用权限了。
👉 桌面应用开发
Deno 2.9 的亮点功能是 deno desktop,它支持把 Next / Nuxt 等前端框架项目转化为一个独立的原生桌面应用,最终产物是一个跨平台分发的二进制文件,无需借助 Electron / Tauri 等桌面应用框架。
Deno vs Electron vs Tauri 的技术对照表如下:
| Electron | Deno | Tauri | |
|---|---|---|---|
| 编程语言 | JS / TS | JS / TS | Rust + JS / TS |
| Web 引擎 | Chromium | CEF / WebView | WebView |
| 一致渲染 | ✅ | ✅ | ❌ |
| 兼容 Node | ✅ | ✅ | ❌ |
| 交叉编译 | ✅ | ✅ | ❌ |
| 框架自检测 | ❌ | ✅ | ❌ |
| iOS / Android | ❌ | ❌ | ✅ |
我简单汇总了这张对照表来快速科普一下,更多细节可以参考我的另一篇博客《Electron 麻了,Deno 直接支持二进制应用,无需第三方桌面应用框架!》(文末链接可跳转~)
👇 重点总结
Deno 团队官宣 2.9 次版本 正式发布,此版本涉及性能优化、Node 生态兼容性、模块系统改进、供应链安全提升和 CLI 脚手架更新等综合升级,更多细节另请参阅官方博客。

其中最大亮点是 deno desktop 支持打造原生桌面应用,无需使用 Electron / Tauri 等桌面应用开发框架,优缺点主要有:
- ✅ 基于纯 Web 技术,兼容 Node 生态,无需 Rust 基础
- ✅ 自动检测前端框架,支持
webview或cef(Chromium 嵌入框架) - ✅ 跨平台交叉编译,五大平台完整支持
- ❌ 不支持移动端应用,应用大小取决于技术选择
deno desktop 是一个先锋实验,未来或许能进一步竞争桌面应用市场,这也标志着 Deno 正在进化为一个破而后立的 JS 运行时。
👍 以上就是本期《前端日报》的全部内容了,如果读完对你有所帮助,可以按赞打卡、在看推荐或转发分享。
🙏 已经关注我的粉丝们,我们下期再见啦,掰掰~~

👇 参考文献:
- 🔗 Deno vs Electron :mp.weixin.qq.com/s/yTrOsqR9n...
- 🔗 Deno 2.9 官方博客 :deno.com/blog/v2.9
- 🔗 Deno 桌面应用文档 :docs.deno.com/runtime/des...