专注应用全链路优化,覆盖性能、体验、代码与资源优化,让应用更快、更稳、更易用。
-
移动优先 vs 桌面优先,聊聊我的实战对比 最近重构一个响应式项目,又要重新思考移动端和桌面端的设计策略。说实话,做了这么多年前端,这个话题还是很有争议的。有些同学可能觉得这是老生常谈,但实际项目中遇...
-
我的写法,亲测靠谱 预加载资源这事儿,说简单也简单,说复杂也挺复杂。我之前做个项目,页面首屏加载慢得要命,用户流失率高得离谱。后来我把预加载好好搞了一下,效果立竿见影。 我一般这么处理预加载: <...
-
项目初期的技术选型 最近做的那个电商项目,商品列表页面展示2000+商品,页面卡得一批,滚动条拖动都明显卡顿。一开始就是简单的React组件渲染,结果用户一滚动页面就卡死几秒,产品经理天天来催我优化。...
-
esbuild打包后CSS丢失,差点让我加班 前两天在重构一个老项目,想把原来的webpack换成esbuild提速,结果打包出来的文件CSS全没了。当时我就纳闷了,这玩意儿怎么连CSS都不认识了?折...
-
优化前:卡得不行 之前做批量文件转换功能,用户的体验简直没法看。一批几千个文件同时转换,页面直接卡死,Chrome都提示无响应了。最严重的时候,用户上传2000个图片进行格式转换,浏览器直接崩溃。用户...
-
项目初期的技术选型 上个月刚收尾一个数据看板项目,前端用的 React + TypeScript,后端接口响应时间不太稳定,尤其在高峰期经常卡个 1-2 秒。用户一点击就干等着,体验特别差。所以一开始...
-
优化前:卡得不行 上个月上线一个新页面,老板点开后第一句话就是:“这加载怎么比我家老电脑还慢?” 我自己测了一下,首屏资源加载花了快5秒,滚动时还时不时卡顿。打开 DevTools 一看,好家伙,一堆...
-
我的写法,亲测靠谱 资源合并这事儿,说简单也简单,说坑也真不少。我最早搞前端那会儿,项目里一堆 CSS 和 JS 文件,首屏加载慢得像蜗牛爬。后来开始搞合并,但一开始也是乱合并一通——把所有 JS 全...
-
优化前:卡得不行 上周上线一个新功能,用户反馈页面打开后“转圈圈转了5秒”,甚至有些低端机直接卡死。我本地跑起来也明显感觉不对劲——点一下按钮,等半秒才有反应,滚动列表的时候掉帧严重。查了下 Perf...
-
又踩坑了,CSS动画卡成PPT 上周改一个商品详情页的轮播图,加了个淡入淡出的过渡效果,结果在安卓机上一跑,直接卡成幻灯片。手指滑一下,画面愣是半秒后才动,用户肯定以为页面崩了。我一开始以为是 JS ...
-
核心代码就这几行,但别急着复制 我写过好几个项目都用到懒加载,最开始是自己手搓 Intersection Observer,后来发现直接用现成的库更省事。但不管用哪种方式,核心逻辑其实就那几行。先看一...
-
首页加载慢到离谱,一查发现 bundle 超了 3MB 上周上线一个新功能后,突然收到用户反馈:“首页打开要等好几秒”。我一开始以为是接口慢,结果打开 Network 面板一看,好家伙,主 JS 文件...
-
我的写法,亲测靠谱 这几年做性能优化,关键渲染路径(Critical Rendering Path)是我反复折腾的重点。说白了,就是让浏览器尽快把用户看到的内容画出来。我踩过不少坑,也总结出一套自己觉...
-
优化前:卡得不行 上个月接手一个老项目,首页加载时间动不动就5秒往上飙,用户反馈“点进去以为页面挂了”。我本地跑起来也是一言难尽——白屏时间长,JS bundle 超过 3MB,首屏关键资源全塞在一个...
-
又踩坑了,事件解绑没生效 昨天在搞一个弹窗组件,用户点“关闭”按钮要移除绑定的键盘事件(比如按 ESC 关闭),结果死活解不掉。我明明写了 removeEventListener,但每次按 ESC 弹...
-
优化前:卡得不行 上周改一个列表页,数据量不大,也就几千条,但前端一次性全拉回来渲染,页面直接卡成PPT。滚动一下要等半秒,点个按钮半天没反应,连Chrome DevTools都差点打不开。用户反馈“...
-
又踩了个坑:Tree Shaking 不生效,原来是 sideEffects 没配对 前几天打包项目,发现一个奇怪的问题:明明只用了某个工具库里的一个函数,结果整个库都被打包进去了。我用的是 Webp...
-
优化前:卡得不行 上周上线一个新功能,用户点开详情页后要加载大量数据,包括图片、用户评论、关联推荐啥的。结果测试时直接给我整无语了——首屏白屏 5 秒多,滚动还卡成幻灯片。产品经理站我身后看一眼就皱眉...
-
我的写法,亲测靠谱 做国际化项目这几年,hreflang 这个东西我踩过不少坑。一开始以为就是加几个 link 标签完事,结果上线后 Google Search Console 报一堆错误,流量还掉得...
-
项目初期的技术选型 去年接手一个中后台管理系统重构,前端用的是 React + Webpack 5。项目上线后,首屏加载时间居然要 6 秒多,用户反馈“点开就卡住”,老板直接问“能不能快点”。我一查 ...