Webpack是OpenJS基金会维护的一款被广泛采用的JavaScript模块打包工具。该工具刚刚发布了其2026年发展路线图,其中详细列出了多项改进措施,这些措施旨在减少插件依赖、提升运行时兼容性,并为Webpack 6的开发奠定基础。
这份由技术指导委员会成员Even Stensberg编写的路线图提出了几项重点任务,包括无需插件即可支持CSS模块、推出新的通用编译目标、内置TypeScript转译功能以及整合HTML入口点。此外,该路线图还表明Webpack有意借鉴竞争对手的工具来优化性能。
其中最值得关注的变化之一就是将CSS模块支持直接集成到Webpack的核心功能中。目前这一功能仅通过experimental.css选项才能使用,但未来它将取代mini-css-extract-plugin。开发团队预计会在2026年初完成这项整合工作,在Webpack 6版本之前,这一功能仍将处于实验阶段;到了那时,基于插件的CSS处理方式就将不再被需要了。开发者现在就可以启用这一实验性功能。
另一个重要举措是计划推出通用编译目标,该目标旨在让代码能够在Node.js、Bun、Deno以及浏览器环境中正常运行。无论应用程序是否使用CommonJS模块,Webpack都会对它们进行处理,使得最终生成的代码格式为纯ESM格式,从而确保其在不同环境中的兼容性。不过目前ESM格式的输出功能还不够完善,仍需要进一步的优化和缺失的测试。
路线图中还提到了内置TypeScript支持的计划,这一举措将使人们不再需要ts-loader;同时,也会引入原生HTML入口点功能,从而摆脱对html-webpack-plugin的依赖。这两项改进都遵循了将常用插件功能整合到核心代码中的开发思路。此外,开发团队还在研究一种受Rspack启发的优化机制,这种机制能够跳过那些在项目中未被使用的模块的编译过程,从而避免产生不必要的文件,直到这些模块真正被需要时才进行编译。
从竞争格局来看,当前的模块打包工具市场已经发生了很大的变化。Vite已经成为许多新项目的默认选择,而字节跳动推出的基于Rust语言、与Webpack兼容的工具Rspack,则能够显著加快构建速度,同时还能与大多数Webpack插件保持兼容性。在Hacker News上,有一位用户提出了关于治理结构的有趣观点,他认为Webpack属于OpenJS基金会管辖,因此具备中立性,而那些由风险投资支持的竞争工具可能并不具备这种中立性,并且担心“整个生态系统可能会被纳入某个商业机构的统一发展路线图中,从而导致其发展受到限制”。
在Reddit上,人们的意见褒贬不一。有用户表示“欢迎Webpack的复兴”,但也指出:除非对Webpack进行彻底的重写,否则它很难实现真正的改进。
许多评论者认为所提出的这些变更“为时已晚”:
Webpack现在已经落后得太远了,根本无法再与其他工具竞争。
使用Rolldown-Vite,我可以在不到一秒钟的时间内完成项目构建;而使用Webpack的话,这个过程几乎需要一分钟的时间。
我们的目标并不是要与其他打包工具竞争,而是希望让Webpack变得更加现代化,尽可能提高它的运行速度,并为其注入新的活力。大家可以使用自己认为最合适的工具。不过我们知道仍然有很多人在使用Webpack,因此我们的目标是让他们的使用体验变得更好、更友好,同时保持Webpack一直以来所具备的稳定性。