前言
最近测试同学来反应,app里面嵌套h5,打开的时候,显示有点慢,所以这边对现有项目做一个优化,顺便记录一下。
思考🤔
技术栈使用的是vue,首屏加载的时候请求3个js,一个是app.js,一个是chunk.js,一个是页面js

webpack打包优化
新建一个新的项目,安装我们需要的依赖vuex、vue-router、axios
package.json文件如下

webpack未优化之前打包

使用webpack优化
我们可以使用webpack中的DllPlugin插件来拆分我们的chunk
在开发环境安装webpack webpack-cli,然后新建weback.config.dll.js,内容如下

然后执行yarn dll,我们会发现在public新增一个了一个
vendor.dll.js,然后在index.html中在head中把vendor.dll.js引入,根目录新增了一个vendor-manifest.json,
这个文件是用来让 webpack的DLLReferencePlugin 映射到相关的依赖上去的。然后在新建
vue.config.js代码如下


vendor.dll.js里面的依赖很少改变,所以我们这边直接上传到cdn上面,设置缓存为半年,这样我们多个项目都可以依赖这个文件,每次请求的时候直接请求的缓存,所以加载的就很快了。