wepack 透视——提高工程化(实践篇)
wepack 透视——提高工程化(实践篇) webpack 是我们前端工程师必须掌握的一项技能,我们的日常开发已经离不开这个配置。关于这方面的文章已经很多,但还是想把自己的学习过程总结记录下来。 上一篇文章介绍了webpack 构建原理,这篇文章将基于这个原理之上,讲述在我们实际工程配置中可以去优化的2 个方向。 提升构建速度,也就是减少整个打包构建的时间, 优化构建输出,也就是减小我们最终构建输出的文件体积。 1. 提升构建速度 1.1 哪些阶段可以提速? 我们先回顾下整个构建过程,首先从入口文件开始递归生成所有文件的module实例,再针对所有module 实例的依赖关系进行分析优化,划分为一个或多个 chunk 去生成最终的打包文件输出。那哪些阶段我们可以去节约时间呢? module 实例的优化和处理的时间我们并不好做提速,这里往往涉及到最终输出文件的大小,我们做的优化操作越多,输出的文件体积越小,这是我们希望看到的,所以只能从生成 module 实例阶段去入手提速,在这个阶段文件会经过以下处理: resovle阶段: 获取文件所在的绝对路径以及文件要被哪些loaders编译转换 run-loader阶段:执行对应的 loaders对文件执行编译转换 parse 阶段:解析文件是否存在依赖,以及对应的依赖文件。 在这个过程中,我们可以节约时间的方向: resolve 阶段: