最近前端群里的小伙伴问我,老板喊我做前端优化我该怎么去优化呢?。我思考了了一下,提出了以下几点建议…
我们为什么要优化呢,从哪几个方向去优化呢
我们常见的一些问题是不是 页面卡顿?首屏加载很慢?图片渲染很久?断网弱网页面崩溃?代码需要回滚才知道commit代码包的体积很大?文件很乱找不到?重复代码很多?变量都是a1,a2,a3,动画很卡顿玩多了手机烫或者崩溃?用户加载网页报错我们却不知道?等等等等很多需要去思考的问题,
我认为可以从这三个大方向去讨论
代码可读性优化,可以分为几个方向(模块化,组件化,文件规范,commit规范,书写规范)
const getnName = () = {console.log('何华');
}
const getAge = () = {console.log('18岁');
}
export { getnName, getAge }
//组件A.vue
i'm template A
//组件B.vue
i'm template B
//father.vue
其实性能优化可以从三个方向考虑(请求,渲染,打包)
图片使用更高效的CDN策略,加载展示策略,根据网络状况加载图片、图片格式优化、图片展示位置优化,清晰度,大小格式等
使用GPU渲染动画
尽量减少大量动画的同时调用
尽量减少重排重绘的操作(频繁的重排重绘+cpu渲染,用户体验真的会尿)
减少一次性的渲染dom量
减少渲染阻塞,合理的安排文件加载顺序和加载时机
注意页面大小的控制,canvas,svg,base64等文件的堆叠
对用户操作频繁抖动进行防抖和节流的限制
合理运用缓存(强缓存协商缓存)对页面文件进行定期缓存
…
总的来说,打包有几个点,模块按需引入,静态资源切换cdn,gzip,style抽离,tree shaking,chunkhash,CommonChunkPlugin等等。
可以参考我的这篇文章:webpack打包优化