2025 nodejs 发生哪些重大改变?

163 阅读3分钟

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-nodetsx 或配置繁琐的 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 默认启用了 localStoragesessionStorage。这意味着你可以在服务端直接使用和浏览器一模一样的 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”写一个高性能的自动化脚本。