本项目意在通过不同的分支展示不同的优化方式,对
vue
项目性能的影响,探索vue
开发中有显著效果的可行性优化方案(尽可能不改动业务代码)。你可以切换分支,查看git
历史,通过比对文件变化,来了解实现的具体细节。
- 在
base
分支的基础上,将原本依赖的vue
、vue-router
、vuex
、element-ui
和axios
这五个库,全部改为通过CDN
链接获取。 - 相应的调整
webpack
配置 - 卸载依赖的
npm
包,npm uninstall axios element-ui vue vue-router vuex
- 删除
main.js
里element-ui
相关代码
具体细节可以查看git
的历史记录
app.css
: 因为不再通过import 'element-ui/lib/theme-chalk/index.css'
,而是直接通过CDN
链接的方式引入element-ui
样式,使得文件小到了bytes
级别,因为它现在仅包含少量的项目的css
。app.js
:几乎无变化,因为这里面主要还是自己项目的代码。vendor.js
:将5个依赖的js
全部转为CDN
链接后,已经小到了不足1KB
,其实里面已经没有任何第三方库了。数字.js
和mainfest.js
:这些文件本来就很小,变化几乎可以忽略。
可以看出相同的网络环境下,加载从原来的7秒多,提速到现在的3秒多,提升非常明显。而且更重要的一点是原本的方式,所有
的js
和css
等静态资源都是请求的我们自己的nginx
服务器,而现在大部分的静态资源都请求的是第三方的CDN
资源,
这不仅可以带来速度上的提升,在高并发的时候,这无疑大大降低的自己服务器的带宽压力,想象一下原来首屏的900多KB的文件
现在仅剩20KB是请求自己服务器的!