面试经常会被问到关于性能优化这一块,其实这个问题没有标准答案,但你回答时要求尽可能全面,那到底改怎么回答呢,follow me!
-
first–掌握问题的原则:性能优化–就是多使用内存、缓存或其他方法,减少CPU的计算量,减少网络请求,空间换时间,让网页加载的更快些,给用户一个更好的体验。
-
second–知道了问题的原则后,我们可以从以下2点出发来回答:
1、让加载更快
a. 减少资源体积,打包压缩代码
b. 减少访问次数,合并代码(js,css代码合并,雪碧图),缓存,SSR服务器端渲染
c. 使用更快的网络,CDN2、让渲染更快
a. css放在head里,js放在body最下面
b. 尽早的执行js,用DomContentLoaded触发
c. 对DOM操作进行缓存
d. 频繁DOM操作,合并一起插入DOM结构
e. 节流、防抖
f. 图片懒加载偷偷告诉你们,面试时间有限,面试官不可能等着你们细细·的一一把它们说完,你结合其中一个点,比如图片懒加载,说清楚就可以!
开个小差:最近在学习vue原理,随便补充一下关于vue的性能优化
1、合理的使用v-show,v-if
2、合理的使用computed(computed有缓存,data不变,不会重新计算)
3、v-for的使用一定要记得带上:key, v-for跟v-if不能同时使用
4、自定义事件、DOM事件及时销毁
5、合理使用keep-alive
6、合理使用异步组件
7、data层级不要太深
8、使用vue-loader在开发环境做编译模板
9、webpack层级优化
10、图片懒加载
11、使用SSR