vue项目优化方案

1、路由很多的复杂页面,路由懒加载

—使用const Foo = () => import('./Foo.vue')代替import './Foo.vue';

2、外部库有提供按需加载的功能,可以按照官方文档的做法来按需加载

3、开启Gzip压缩

4、页面渲染优化(减少重排),组件优化、基础优化(js、css),图片优化

—vue官网中的规范需要遵循;

—按模块划分路由。按照业务模块划分路由及子路由,按照功能或交互稿或视觉稿划分组件模块;

—提取共用的方法、共用的样式、共用的状态;

—使用字体图标代替纯色或渐变色的图标,如使用icomoon;

—图片懒加载--到可视区域再加载;

—v-if,v-show的选择。权限相关使用v-if、频繁切换使用v-show、不频繁切换使用v-if;

—style中使用<style scoped>避免冲突,全局style尽量抽象,提高复用率,减小css文件大小,节省带宽;

—根据页面复杂度,删除部分页面生命周期created中的window.setTimeout方法;

5、网络请求优化

通常会选择对 http 请求的方法进行二次封装,以便增加统一的拦截器,或者统一处理阻止重复提交之类的逻辑;

—合理使用vuex,频繁切换的页面组件比如多个编辑页面,保存多个数据store,减少http请求;

6、合理使用缓存

—合理设置HTTP缓存。从图1 浏览器请求处理流程图中可以看出,恰当的缓存设置可以大大减少HTTP请求,节省带宽。

如很少变化的资源(html、css、js、图片等)通过 HTTP Header中的cache-control和Expires可设定浏览器缓存,变化不频繁又可能变的资源使用Last-Modifed来做请求验证;

7、打包优化

webpack提供的externals可以配合外部资源CDN轻松大幅度减少打包体积,适用于echartsjQuerylodash这种暴露了一个全局变量的库;

—生产环境采用webpack-parallel-uglify-plugin,进行压缩;

猜你喜欢

转载自www.cnblogs.com/harsin/p/11646312.html