We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第25天,点击查看活动详情
作为一个前端开发者,前端性能优化问题是无可避免的。比如,你使用 vue 去开发一个运营活动的项目,首屏加载缓慢,你应该怎么办呢?又比如,你开发官网,你选择 ssr 还是 spa 呢?
vue
ssr
spa
本文,我们来聊聊遇到前端加载缓慢,应该怎么做~
现在前端框架已是三足鼎立 -- Angular,React 和 Vue。我们在使用它们开发的过程中,应该了解相应框架的生命周期,而不是似懂非懂讲究用。我们以 Angular 前端框架为例:
Angular
React
Vue
ngOnChanges
ngDoCheck
ngOnDestroy
接口方面,可以考虑下面的处理方案:
Gzip
Etag
CSS / JavaScript
所有的文件都有可能是静态资源,比如 Json, Image 等。我们可以考虑以下处理:
Json
Image
CDN
TinyPNG
FFmpeg
Html
CSS
JavaScript
Webpack
npm run build
前端开发,就是以 DOM 为基石进行处理的一门艺术。
DOM
DIV
SEO
<head>
</body>
HTML
Img
alt
Lighthouse
Perfermance
Safari
W3C
不知道读者平常会怎么进行页面的性能分析和解决呢?可以留言交流交流~
【完】✅
The text was updated successfully, but these errors were encountered:
No branches or pull requests
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第25天,点击查看活动详情
作为一个前端开发者,前端性能优化问题是无可避免的。比如,你使用
vue
去开发一个运营活动的项目,首屏加载缓慢,你应该怎么办呢?又比如,你开发官网,你选择ssr
还是spa
呢?本文,我们来聊聊遇到前端加载缓慢,应该怎么做~
框架生命周期熟悉使用
现在前端框架已是三足鼎立 --
Angular
,React
和Vue
。我们在使用它们开发的过程中,应该了解相应框架的生命周期,而不是似懂非懂讲究用。我们以Angular
前端框架为例:ngOnChanges
中调用,而不是在ngDoCheck
中调用ngOnDestroy
取消订阅接口处理
接口方面,可以考虑下面的处理方案:
Gzip
压缩Etag
作为缓存标志CSS / JavaScript
文件静态资源处理
所有的文件都有可能是静态资源,比如
Json
,Image
等。我们可以考虑以下处理:CDN
,避免资源放在项目的服务器上,特别是访问量大的站点,会容易奔溃或者造成资源加载缓慢,用户体验不良2.1 图片资源可以使用
TinyPNG
2.2 视频/音频 可以通过
FFmpeg
处理2.3
Html
,CSS
和JavaScript
等资源,可以通过Webpack
处理,现代前端框架都会集成,你只需要运行npm run build
即可CSS
实现三角形总比引入一个三角形的图案要强多了DOM 处理
前端开发,就是以
DOM
为基石进行处理的一门艺术。DOM
节点元素需要语义化,不能都一股脑的使用DIV
元素,这样不利于SEO
;起码在对外的系统上要注重语义化的处理<head>
标签中,脚本需要放在</body>
之前引用。样式靠后会使得骨架HTML
看起来辣眼睛;脚本提前加载会造成页面阻塞。Img
节点元素的alt
指向为空,为空不利于SEO
工具处理
Lighthouse
灯塔:它可以通过谷歌浏览器去安装使用;也可以通过本地全局安装,通过运行命令行去审查指定的页面。Perfermance
面板:谷歌浏览器中的Perfermance
面板可以用于分析站点运行时性能;建议以隐身模式开启,排除其他扩展对性能测量的影响。Safari
浏览器对应时间轴面板,看个人爱好选择调试。其他浏览器对应的性能分析面板自查。Perfermance
接口:通过W3C
提供的Perfermance
接口,监听页面的相关信息。不知道读者平常会怎么进行页面的性能分析和解决呢?可以留言交流交流~
【完】✅
The text was updated successfully, but these errors were encountered: