Webpack 打包太慢?来试试 Bundleless
一 引言 Webpack 最初是为了解决前端模块化以及使用 Node.Js 生态的问题而出现,在过去的 8 年时间里,Webpack 的能力越来越强大。 但因为多了打包构建这一层,随着项目的增长,打包构建速度越来越慢,每次启动都要等待几十秒甚至几分钟,然后启动一轮构建优化,随着项目的进一步增大,构建速度又会降低,陷入不断优化的循环。 在项目达到一定的规模时,基于 Bundle 的构建优化的收益变得越来越有限,无法实现质的提升。我们从另一个角度思考,webpack 之所以慢,主要的原因还是在于他将各个资源打包整合在一起形成 bundle,如果我们不需要 bundle 打包的过程,直接让浏览器去加载对应的资源,我们将有可能可以跳出这个循环,实现质的提升。 在 Bundleless 的架构下,我们不再需要构建一个完整的 bundle,同时在修改文件时,浏览器也只需要重新加载单个文件即可。由于没有了构建这一层我们将能够实现以下的目标: 极快的本地启动速度,只需要启动本地服务。 极快的代码编译速度,每次只需要处理单个文件。 项目开发构建的时间复杂度始终为 O(1),使得项目能够持续保持高效的构建。 更加简单的调试体验,不再强依赖 sourcemaps 即可实现稳定的单文件的 debug。 基于以上的可能性 Bundleless 将重新定义前端的本地开发,让我们重新找回前端在 10