背景

新入职公司的项目非常庞大,编译时webpack收集已经有8000多个modules,编译一次3分钟,热更新30s,电脑内存16g,可以说毫无开发体验

入职的第一件事,就是优化,优化再优化

分析

vue2项目非常庞大时,编译速度就会非常的慢,主要是因为webpack的编译时会收集各种依赖,花费时间也会因此非常长。

预想解决方案
1、项目直接升级vite
2、优化webpack

第一种方案升级vite,由于公司的项目比较老,element ui是2.15.14,还使用了data-viewmars3D,升级vite很快以失败告终,各种报错,这里也就不多做介绍了

webpack编译优化

先看看没有优化时的编译速度,2分钟

QQ截图20231026110512.png

启用 webpack 的构建缓存后,由于某些模块的缓存结果已被重用,热更新的速度可能会稍慢一些。这是因为在热更新过程中,webpack 需要检查和比较缓存的模块与最新修改的模块之间的差异,以确定是否需要进行重新构建。

如果你对热更新的速度非常在意,可以尝试删除构建缓存文件夹,这样在每次热更新时都会重新构建所有模块,从而获得更快的热更新速度。但需要注意的是,删除缓存文件夹会导致 webpack 必须重新收集和处理所有的模块,因此整体的构建时间可能会变长。

因此,在进行构建优化时,你需要根据具体的需求和项目情况权衡利弊。如果热更新速度对你的项目非常关键,可以删除构建缓存文件夹。如果你更关注整体的构建速度,可以保留构建缓存并接受稍慢一些的热更新速度。