Webpack(由 OpenJS 基金会维护的应用广泛的 JavaScript 模块打包器)发布了2026年开发路线图,概要介绍了一系列改进,主要包括:减少插件依赖、扩展运行时兼容性,并为 Webpack 6 奠定基础。
该路线图由技术指导委员会成员Even Stensberg撰写,其中有几个优先事项,包括:无需插件的原生 CSS 模块支持、新的通用编译目标、内置 TypeScript 转译以及 HTML 入口点集成。该路线图还表明,Webpack 希望借鉴竞争对手工具的思路来探索性能优化方法。
其中最重大的一个变化是将 CSS 模块支持直接集成到 Webpack 内核。目前是通过 experimental.css 选项提供,集成后将不再需要 mini-css-extract-plugin。据其团队估计,内核集成将在 2026 年初完成,届时将不再依赖插件进行 CSS 处理,而在 Webpack 6 发布之前,该功能将一直处于实验状态。开发者现在就可以启用实验性支持。
另一个比较重大的变化是计划实现的通用目标,旨在编译可以跨 Node.js、Bun、Deno 和浏览器环境运行的代码。无论应用程序是否使用了 CommonJS 模块,Webpack 都会将它们封装,使得最终输出是运行时无关的纯 ESM。目前,ESM 输出尚未完全开发完成,还需要额外做一些修复和测试。
该路线图还宣布将提供内置 TypeScript 支持(消除 ts-loader 依赖),以及原生 HTML 入口点(消除 html-webpack-plugin 依赖)。两者都是采用将常见插件功能吸收到内核的模式。此外,团队还在评估一个受Rspack启发的懒桶优化。该优化会跳过无副作用桶文件中未使用的重导出模块,直到实际需要时才构建。其他改进包括:一个统一的 minimizer-webpack-plugin,用于取代当前一系列单独的最小化器,如 terser-webpack-plugin 和 css-minimizer-webpack-plugin;探索内核 Multithreading API,为大型构建带来更好的并行处理。
打包器的竞争格局已经发生了相当大的变化。Vite 已经成为许多新项目的默认选项,而 Rspack(来自字节跳动的一个兼容 Webpack 的替代品,基于 Rust 开发)提供了明显更快的构建速度,并且兼容大多数 Webpack 插件。在Hacker News上,有一位用户提出了一个关于治理的有趣观点。他指出,Webpack 由 OpenJS 基金会管理,这保证了其中立性,那可能是由风险投资公司支持的替代品所不具备的,从中可以看出“对生态系统在单一商业路线图下垂直整合的担忧”。
在Reddit上,人们褒贬不一。一位用户说,他们愿意看到它的复兴,但同时也指出,如果没有用 Rust/Go 重写,那将很难做到。
许多评论者认为他们提出改变的时间“太晚了”:
他们已经落后太多,现在无法保持竞争力了。
实际上,我用 Rolldown-Vite 可以在不到一秒钟的时间内构建项目,而以前用 Webpack 需要将近一分钟。
Webpack 维护者在这个帖子下澄清道:
我们并不打算与其他打包器竞争,我们只是想现代化 Webpack,尽可能加快它的速度,并给它带来一些新鲜空气。使用你认为最适合你的工具。但我们知道,仍然有很多人在使用 Webpack。为此,我们的目标是为他们提供更友好顺畅的体验,保持一贯的稳定性。
对于希望使用最新版本的团队,Webpack 提供了一个官方迁移指南,用于从版本 4 升级到版本 5,以及详细的变更日志。考虑使用其他替代品的团队也可以参考Rspack的迁移文档,该文档专为寻求即插即用式性能提升的 webpack 5 项目而设计。
Webpack 是一个开源的 JavaScript 应用程序模块打包器,最初由 Tobias Koppers 创建。它处理和打包包括 JavaScript、CSS 和图像在内的资产,并且仍然是 npm 生态系统中应用最广泛的构建工具之一,提供了与 React、Angular 和 Vue 等框架的一流集成。
声明:本文为 InfoQ 翻译,未经许可禁止转载。
原文链接:https://www.infoq.com/news/2026/03/webpack-2026-roadmap/





