优化
专注应用全链路优化疑问,解答性能、代码、资源与体验优化中的各类优化问题。
-
1
回答
55浏览
缓存雪崩导致接口大量超时怎么办?
我们线上有个商品详情页,用了 Redis 缓存,结果昨天缓存集体过期,瞬间数据库被打爆,接口基本都超时了。之前设置了统一的过期时间,比如都是 3600 秒,现在想优化但不知道咋下手。 听说可以加随机过...
优化 2026-03-13 02:09:21 -
2
回答
34浏览
Webpack5打包体积太大怎么优化?
我用 Webpack5 打了个 React 项目,发现 vendor.js 有 2MB 多,首屏加载特别慢。已经开了 optimization.splitChunks,但效果不明显,是不是配置写得不对...
优化 2026-03-12 22:03:17 -
2
回答
44浏览
为什么我的 HTML 文件改了但浏览器还是加载旧版本?
我改了首页的 HTML 内容,但刷新后浏览器还是显示旧的,强制刷新才生效。是不是缓存没配对? 我试过在 Nginx 里加了 Cache-Control,但好像没起作用。本地开发时用的是 live se...
优化 2026-03-12 21:43:20 -
1
回答
36浏览
WeakSet 能不能用来监听 DOM 元素的销毁?
我在做一个组件库,想用 WeakSet 来跟踪哪些 DOM 元素已经被移除了,但发现好像没法判断元素是否还在页面上。WeakSet 不是自动清理的吗?为什么我没法知道它什么时候被清掉了? 比如我这样写...
优化 2026-03-12 15:38:22 -
2
回答
45浏览
网络感知预加载怎么在弱网下避免浪费流量?
我在做图片懒加载时想根据网络状态决定是否预加载,但用navigator.connection.effectiveType判断后,发现有些用户即使在'4g'下也抱怨流量消耗大,这策略是不是有问题? 目前...
优化 2026-03-12 15:25:24 -
2
回答
42浏览
Webpack5打包体积过大,怎么优化才能减小vendor.js?
最近项目升级到Webpack5后,发现打包出来的 vendor.js 超过2MB,首屏加载特别慢。我已经用了 SplitChunksPlugin 做了基础拆分,但效果不明显。试过把 node_modu...
优化 2026-03-12 13:38:23 -
1
回答
52浏览
接口合并后样式加载异常是怎么回事?
我在做首页性能优化,把两个获取用户信息和配置的接口合并成一个了,结果页面上的按钮样式全乱了。明明 CSS 没动过,但颜色和间距都不对,是不是合并请求影响了 CSS 加载顺序? 这是用到的一段按钮样式:...
优化 2026-03-12 13:31:16 -
2
回答
71浏览
Tree Shaking 为什么没把没用的 export 函数删掉?
我用 Webpack + Babel 打包项目,明明只 import 了一个函数,但打包后其他没用的 export 函数还在 bundle 里,这是为啥? 我试过把 Babel 的 modules 设...
优化 2026-03-12 11:15:19 -
2
回答
23浏览
LocalStorage缓存数据在Vue中怎么避免重复请求?
我用localStorage缓存了用户信息,但每次刷新页面还是会重新请求接口,明明缓存里已经有数据了,是不是哪里写错了? 我试过在created里判断localStorage有没有user,有就直接用...
优化 2026-03-12 10:46:23 -
1
回答
27浏览
React组件卸载后定时器还在执行,是不是内存泄漏了?
我在一个 React 组件里用了 setInterval 轮询数据,离开页面后发现控制台还在打印日志,怀疑定时器没清理。试过在 useEffect 返回函数里清除,但有时候还是漏掉,这算内存泄漏吗? ...
优化 2026-03-12 10:45:18 -
2
回答
38浏览
will-change 设置后反而卡顿了?是我用错了吗?
我在做一个拖拽动画,给元素加了 will-change: transform 想提升性能,结果页面更卡了,甚至内存占用飙升。是不是滥用 will-change 会适得其反? 我是在 mousemove...
优化 2026-03-11 23:19:14 -
1
回答
36浏览
Tree Shaking 为什么没生效?打包体积还是很大
我用 Vue 3 + Vite 搭的项目,明明只用了 lodash 的 debounce 方法,但打包后 vendor chunk 还是特别大。我查了文档说要开启 Tree Shaking,Vite ...
优化 2026-03-11 21:20:22 -
2
回答
29浏览
Babel 配置会影响 Tree Shaking 吗?
我最近在优化项目打包体积,发现即使没用的代码还是被打包进去了。明明用了 Webpack 5 的 Tree Shaking,但好像没生效。 我怀疑是不是 Babel 的配置有问题?比如我用了 @babe...
优化 2026-03-11 19:51:19 -
1
回答
54浏览
移动端怎么阻止橡皮筋效果导致页面抖动?
我在做移动端H5页面时,发现当用户在顶部下拉或底部上拉时会出现橡皮筋效果(就是那种回弹的滚动),特别是在iOS Safari上特别明显。这会导致整个页面被拖拽变形,体验很差。 我试过给 body 加 ...
优化 2026-03-11 19:35:22 -
2
回答
23浏览
Hard-source-webpack-plugin 真的还能用吗?配置后反而变慢了?
我听说 hard-source-webpack-plugin 能大幅加快二次构建速度,就试着在项目里加了。但装完之后第一次构建巨慢,第二次也没快多少,是不是我哪里配错了? 我的 webpack 版本是...
优化 2026-03-11 19:33:21 -
1
回答
185浏览
前端怎么监控页面内存占用?有没有靠谱的实时方案?
最近在做性能优化,发现页面用久了会越来越卡,怀疑是内存泄漏。想实时监控内存使用情况,但performance.memory只能在Chrome里用,而且数据也不太稳定。 试过performance.me...
优化 2026-03-11 16:40:18 -
2
回答
29浏览
Icon太多导致页面加载慢,怎么优化才合理?
我们项目里用了很多小图标,现在首屏加载特别慢,Lighthouse提示“避免大量小请求”。我试过把几个常用 icon 合成雪碧图,但维护起来太麻烦,而且有些 icon 只在特定页面用。有没有更现代、更...
优化 2026-03-11 14:51:19 -
2
回答
46浏览
字体预加载没生效是怎么回事?
我在项目里加了字体预加载,但页面加载时还是有明显的文字闪烁(FOIT),感觉预加载根本没起作用。 我是在 HTML 的 <head> 里加的这行: <link rel="p...
优化 2026-03-11 13:08:22 -
1
回答
28浏览
Vite预构建为啥没把我的第三方库缓存下来?
我用 Vite 开发时发现每次启动都重新预构建 lodash,明明之前已经 build 过了,按理说应该走缓存才对。是不是我哪里配置错了? 我试过删 node_modules 和 .vite 重新装,...
优化 2026-03-11 11:06:19 -
2
回答
21浏览
Thread-loader 加速构建反而变慢了?是不是我配置错了?
我在用 Webpack 优化项目构建速度,听说 thread-loader 能并行处理提升性能,就加到了 Babel loader 前面。但实际跑下来构建时间反而比不用还长,本地开发机是 8 核 CP...
优化 2026-03-11 09:10:20