jQuery 4.0.0 发布 — ES 模块、Trusted Types,以及移除遗留 API
React、Node.js、DevOps
发生了什么
- jQuery 项目在 2026 年 1 月 17 日发布了 jQuery 4.0.0 — 近十年来的第一個重大版本。它通过将源码迁移到 ES 模块、增加 Trusted Types / CSP 友好行为、移除长期弃用的 API 与遗留浏览器变通方法,并提供一个更小的“瘦身(slim)”构建,去除了 Deferreds/Callbacks。 (blog.jquery.com)
对全栈团队的意义(实际影响)
- 安全性:jQuery 4 增加了对 Trusted Types 的兼容性,并为执行 require-trusted-types-for 的应用降低 CSP 阻力。如果你的网站使用严格的 CSP,jQuery 4 将减少对高风险的行内脚本授权的需求 —— 但你仍需审查任何产生 HTML 字符串的代码路径。 (blog.jquery.com)
- 工具链与打包:该库的源码现以 ES 模块形式发布。这意味着你可以直接用现代打包工具和浏览器导入 jQuery(import jquery from "jquery"),提升摇树优化(tree‑shaking)以及与以 ESM 为先的构建管线(Vite、Rspack、Rollup、Turbopack)的集成。预期打包结果会略有不同,并为基于模块的工具链提供更简单的迁移路径。 (blog.jquery.com)
- 兼容性与体积:jQuery 4 不再支持非常旧的浏览器(IE ≤10、Edge Legacy、较旧的 iOS/Android 构建)。瘦身构建移除了 Deferreds/Callbacks,转而使用原生 Promise,减少字节大小并鼓励现代异步模式 —— 对性能预算和渐进增强而言非常重要。 (blog.jquery.com)
- Breaking changes:移除了若干已弃用的 API(示例:jQuery.isArray、jQuery.trim、jQuery.parseJSON 以及一组内部的原型数组方法)。这些移除是有意为之:原生浏览器 API 现在覆盖了大多数用例。依赖这些旧助手函数的项目必须更新,或运行 jQuery Migrate 助手。 (blog.jquery.com)
立即、高影响力的清单(本周要做的事)
- 固定依赖并测试
- 在功能分支中将依赖固定到当前主版本([email protected]),并运行完整的测试套件(端到端 E2E + 单元测试)。使用与客户矩阵相匹配的浏览器覆盖率。 (blog.jquery.com)
- 在开发环境中运行 jQuery Migrate
- 使用官方的 jQuery Migrate 助手,在出货前暴露被移除的 API 与行为回归。逐个修复或标记每个调用点;切勿在生产环境中默默保持 migrate 已启用。 (blog.jquery.com)
- 审核 CSP 与 Trusted Types
- 如果你的应用实现了严格的 CSP(禁止内联)或 Trusted Types,请验证你的动态 HTML 路径是否使用 TrustedHTML 或其他安全构造函数。jQuery 4 虽然降低了阻力,但并未消除对安全 HTML 处理的需求。 (blog.jquery.com)
- 复核异步模式
- 在可行的情况下,用原生 Promise/async-await 替换对 jQuery Deferreds/Callbacks 的依赖,尤其是服务端渲染页面或 hydration 流程中使用的代码路径。瘦身构建移除了 Deferreds,以偏向原生 API。 (blog.jquery.com)
- 更新打包器配置与持续集成
- 确保你的打包器解析 ESM 入口(某些项目仍可能引用遗留构建)。在开发环境中验证摇树优化(tree‑shaking)和热模块替换(HMR)行为。添加一个将 jQuery 以 ESM 模块导入的集成测试,以便及早发现打包回归。 (blog.jquery.com)
- 为遗留应用计划渐进式迁移
- 对于大型遗留代码库,采用分阶段的方法:
- 阶段 1:运行 migrate helper + 自动化测试
- 阶段 2:用原生等价实现替换被移除的助手函数
- 阶段 3:在新的 UI 代码中考虑彻底移除 jQuery,改用框架原生解决方案(React/Vue/Svelte),视情况而定。
- 对于大型遗留代码库,采用分阶段的方法:
为什么这对 React/Node.js 团队仍然相关
- 即便是以 React 为首的应用也可能包含遗留的小组件、第三方插件,或服务端渲染的页面中使用 jQuery。升级可以移除旧的浏览器变通方法、提升 CSP 安全性以及简化打包过程。对于基于 Node.js 的构建管道,ESM 源码在 SSR 构建工具中减少了一些摩擦,并在打包时让依赖关系图更可预测。 (blog.jquery.com)
底线 jQuery 4.0.0 是一个前瞻性版本:更小、原生模块、更加安全。它并不强制大规模重写,但对于长期使用 jQuery 的项目,仍然需要进行审查并制定简短的迁移计划。应将其视为一个低风险、高价值的维护窗口 — 在分支中升级,运行 migrate 工具,并在 CI 中通过聚焦测试来推动变更。
来源
- 官方 jQuery 公告:jQuery 4.0.0(2026 年 1 月 17 日)。 (blog.jquery.com)
来源
继续阅读
Svelte 5.52.0 为 {@html} 增加 TrustedHTML 支持,实现更安全的 Trusted Types 集成
2026年2月21日Svelte 5.52.0(2026年2月18日)为 {@html} 表达式添加 TrustedHTML 支持,使应用能够在不进行字符串强制转换的情况下与浏览器的 Trusted Types 互操作——对 SSR 和客户端渲染的应用来说,XSS 防护很重要。
Next.js 16 使 Turbopack 成为开发和构建的稳定默认选项
2026年2月20日Next.js 16 将 Turbopack 调整为稳定/默认,提升对 Node.js 的最低版本要求,并发布面向生产的缓存原语——全栈团队现在必须改变的事项。
Vite 8.0.0‑beta.14 增加服务器端 .wasm?init(WASM 服务器端渲染)并将 Rolldown 更新至 1.0.0‑rc.4
2026年2月19日Vite 的 2026 年 2 月 12 日测试版引入对预初始化 WebAssembly 模块的 SSR 支持,并将打包器集成升级至 Rolldown 1.0.0‑rc.4——这是一项实用的变更,能够减少客户端 hydration 的工作量并提升 Wasm 密集型服务器渲染的工具链稳定性。