前端技术文章
-
paths 是 tsconfig.json 中的配置选项,用于配置模块路径别名。 它可以让导入路径更简洁,同时保持代码的组织结构清晰。 路径映射 paths 工作原理 原始导入路径 import Button from "../../components/Button" 使用别名导入 import480 收藏 -
用 requestIdleCallback 安排不影响首屏交互的后台任务,结合 IdleDeadline.didTimeout 与 timeRemaining() 分片处理,并给出不支持该 API 时的安全降级方案。480 收藏 -
用一个可运行的 HTML dialog 示例验证 closedby 的 none、closerequest、any 三种关闭边界,并记录 close 事件、returnValue 与旧浏览器降级策略。479 收藏 -
首屏图片明明已经压缩,LCP 仍然偏慢,常见原因是资源发现晚、优先级被误用或懒加载挡住了关键图。本文用 fetchpriority、loading、preload 和 DevTools 网络瀑布建立一套可验收的加载顺序。476 收藏 -
文章 · 前端 | 3星期前 | 布局 · css · 前端动画 · 浏览器兼容 · 渐进增强 · CSS 前端动画 浏览器兼容 interpolate-size height auto calc-size
CSS 的 height:auto 过去很难直接做平滑过渡。本文从 max-height 和 JavaScript 测量的旧方案切入,演示 interpolate-size: allow-keywords 的最小改造,并核对继承范围、浏览器降级与 prefers-reduced-motion 边界。475 收藏 -
当卡片标题、正文和按钮高度不一致时,CSS subgrid 可以让嵌套卡片共享父级网格轨道。本文用一组商品卡片拆开 grid-template-rows: subgrid 的生效条件、代码改法、@supports 回退与常见边界。474 收藏 -
文章 · 前端 | 2个月前 | 前端 · 缓存 · Service Worker · 白屏 · 发布故障 · 缓存策略 前端白屏 Service Worker CacheStorage 资源404 发布回滚
复盘一次前端发布后部分用户白屏的问题:旧 Service Worker 返回旧 index.html,页面继续请求已删除的哈希 JS,最终触发资源 404。文章给出排查证据、修复动作和防复发清单。469 收藏 -
WebSocket 断线重连最容易踩中旧连接复活:旧 socket 的 close 回调晚到,可能覆盖新连接状态。本文从 readyState、连接代次、指数退避和手动关闭四个边界出发,给出可验证的浏览器实现。467 收藏 -
CSS color-mix() 可以从基础主题色派生 hover、浅底和边框状态,但混合空间与透明度会改变最终观感。本文用 token、对比度和 fallback 验收一套可落地的主题色方案。465 收藏 -
AbortController 取消 fetch 并不等于已经停止 Promise 链。本文用一个组件卸载场景拆解 signal、catch 和状态门禁的关系,给出可复用的前端请求收口写法。465 收藏 -
从触底加载重复请求的现场出发,拆开 rootMargin、哨兵节点和请求状态之间的关系,给出可验收的去重实现与异常处理边界。462 收藏 -
跨域 iframe、弹窗通信最容易漏掉的不是消息格式,而是发送方身份校验。本文用 origin、source 和消息结构三道边界,写出可验证的 postMessage 接收与回复代码。462 收藏 -
用 Fetch Response.body 和 ReadableStream 将搜索结果按块解析并增量渲染,说明 reader.read、TextDecoderStream、controller.desiredSize 与背压边界。460 收藏 -
列表页滚动到中间,点进详情再返回却回到顶部,这是很多前端项目都会遇到的体验问题。本文从复现现象开始,逐步验证浏览器默认恢复、组件重建和列表数据时机,最后用位置记录和渲染完成后恢复来解决。458 收藏 -
前端列表从几百行涨到上万行后,滚动掉帧通常不是单个 CSS 属性造成的。本文用长列表筛选和滚动场景拆解 DOM 数量、批量渲染、可视窗口与主线程任务,给出可复现的 60 FPS 验收方法和回退边界。458 收藏