性能优化
1>懒加载路由&懒加载引入组件
const xxx = () => import ('路径’)
懒加载的适用场景:页面js文件体积大;组件有展示条件(如弹框);组件的复用性高。
2>tree shaking机制
依赖于ES6的??樘匦?。只对导出的变量生效。
3>骨架屏
移动端用骨架屏。(插件eg:vue-skeleton-webpack-plugin)
4>虚拟滚动长列表
列表过长使用虚拟滚动。(插件eg:vue-virtual-scroller、vue-virtual-scroll-list、react-tiny-virtual-list、react-virtualized)
5>Web Worker
当任务的运算时长 - 通信时长 > 50ms,推荐使用Web Worker。
运行在后台的js。
6>js 加载
<script async src="index.js"></script>
——异步,不会阻塞dom渲染。适用于js与dom没有依赖关系。
<script defer src="index.js"></script>
——异步。按照引入的前后顺序执行,如果后面js依赖于前面js,建议使用。
<link rel="preload" as="script" href="index.js">
——在浏览器渲染机制之前进行处理的,并且不会阻塞 onload 事件;会预加载相应的脚本代码,待到需要时自行调用。
7>图片懒加载
判断位置后复制属性给img 的 src;
懒加载。(插件eg:vue-lazyload)
小图片转为base64格式,减少http请求??梢允褂胾rl-loader进行配置。