2025年被社区称为 Node.js 的“现代化元年”。在这一年,Node.js 完成了从“需要大量配置的工具”到“原生全能运行时”的华丽转身。
以下是 2025 年 Node.js 发生的四项足以改变你开发习惯的重大变革:
1. 原生支持 TypeScript (Native TS Execution)
这是 2025 年最受前端欢迎的改变。
- 不再需要编译: 从 Node.js 22.6/23 版本开始,Node 内置了“类型剥离(Type Stripping)”功能。这意味着你可以直接运行
node index.ts,Node 会在执行前自动移除类型定义,而无需安装ts-node、tsx或配置繁琐的tsconfig.js。 - 开发体验: 配合 Node 自带的
--watch模式,前端脚本的开发流程变得像写原生 JS 一样快,工程链路极其简化。
2. CommonJS 与 ESM 的“世纪大和解” (require(esm))
困扰前端多年的 ERR_REQUIRE_ESM 报错在 2025 年正式成为历史。
- 同步加载: Node.js 实现了同步的
require(esm)。现在,你可以在旧的 CommonJS 项目中直接require一个纯 ESM 的第三方包。 - 库维护者的解脱: 广大 npm 包作者终于不需要费劲心思发布“双模块(Dual Build)”版本了,这极大地加速了前端生态向纯 ESM 迁移的进度。
3. 安全权限模型正式稳定 (Permission Model)
Node.js 借鉴了 Deno 的安全理念,引入了实验性转稳定的权限控制系统。
- 精准限制: 你现在可以使用
--allow-fs-read、--allow-net等命令行标志来运行程序。 - 防范供应链攻击: 比如运行一个不可信的 npm 脚本时,你可以限制它“只允许读取
./src目录,禁止访问网络”。即便包里有恶意代码,也无法偷偷上传你的.env敏感文件。
4. 深度对齐 Web 标准与内置内置数据库
Node.js 越来越像浏览器,也越来越像一个完整的平台。
- Web Storage 入驻: Node.js 25 默认启用了
localStorage和sessionStorage。这意味着你可以在服务端直接使用和浏览器一模一样的 API 来做数据持久化,SSR(服务端渲染)的代码复用率大幅提升。 - 内置 SQLite: Node.js 现在内置了
node:sqlite模块。对于小型应用或本地工具,你不再需要安装臃肿的sqlite3驱动,直接调用原生的高性能数据库接口。
总结:2025 年给前端带来的变化
| 改变点 | 过去 (2024以前) | 现在 (2025/2026) |
|---|---|---|
| TS 开发 | 配置 esbuild / swc / tsx | 直接运行 node file.ts |
| 模块冲突 | require 加载 ESM 报错 | require 完美兼容 ESM |
| 安全性 | 默认全权限(不安全) | 显式权限控制 (--allow-*) |
| 本地存储 | 寻找第三方 File DB 库 | 内置 SQLite & localStorage |
作为前端,你是否已经厌倦了各种打包工具的配置? 既然 Node.js 已经内置了 TS 支持和原生 Web API,我可以教你如何脱离构建工具,直接用“原生 Node”写一个高性能的自动化脚本。