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)

立即、高影响力的清单(本周要做的事)

  1. 固定依赖并测试
    • 在功能分支中将依赖固定到当前主版本([email protected]),并运行完整的测试套件(端到端 E2E + 单元测试)。使用与客户矩阵相匹配的浏览器覆盖率。 (blog.jquery.com)
  2. 在开发环境中运行 jQuery Migrate
    • 使用官方的 jQuery Migrate 助手,在出货前暴露被移除的 API 与行为回归。逐个修复或标记每个调用点;切勿在生产环境中默默保持 migrate 已启用。 (blog.jquery.com)
  3. 审核 CSP 与 Trusted Types
    • 如果你的应用实现了严格的 CSP(禁止内联)或 Trusted Types,请验证你的动态 HTML 路径是否使用 TrustedHTML 或其他安全构造函数。jQuery 4 虽然降低了阻力,但并未消除对安全 HTML 处理的需求。 (blog.jquery.com)
  4. 复核异步模式
    • 在可行的情况下,用原生 Promise/async-await 替换对 jQuery Deferreds/Callbacks 的依赖,尤其是服务端渲染页面或 hydration 流程中使用的代码路径。瘦身构建移除了 Deferreds,以偏向原生 API。 (blog.jquery.com)
  5. 更新打包器配置与持续集成
    • 确保你的打包器解析 ESM 入口(某些项目仍可能引用遗留构建)。在开发环境中验证摇树优化(tree‑shaking)和热模块替换(HMR)行为。添加一个将 jQuery 以 ESM 模块导入的集成测试,以便及早发现打包回归。 (blog.jquery.com)
  6. 为遗留应用计划渐进式迁移
    • 对于大型遗留代码库,采用分阶段的方法:
      • 阶段 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)

来源

继续阅读