Linear 用 1000 个 PR 换掉 styled-components,我写了 200 个按钮,把这笔账复现了一遍
昨天 InfoQ 报道了 Linear 的一个里程碑:他们把 React 应用里的 styled-components 全部换成了 Meta 的 StyleX,工程量 1000 多个 PR、约 5 个月,今年 8 月初收尾。官方给的收益数字…
前端框架、工程化、性能优化、跨端开发
昨天 InfoQ 报道了 Linear 的一个里程碑:他们把 React 应用里的 styled-components 全部换成了 Meta 的 StyleX,工程量 1000 多个 PR、约 5 个月,今年 8 月初收尾。官方给的收益数字…
Day15 拆过 Fiber,说它让渲染"可中断";Day16 顺着 Fiber 讲了 Hooks 的跨渲染记忆从哪来。今天把"可中断"三个字兑现成真实产品能力,也就是 React 18 的并发特性。官方叫 Concurrent Featu…
做前端开发的同学,几乎都踩过跨域的坑:开发环境配 Vite proxy,生产环境上 Nginx 反向代理。但当我们把视线从「普通接口请求」转向「实时通信」时,WebSocket 又成了很多人的知识盲区: Socket 和 WebSocket…
创建 SVG 图标预览页面:从零实现到解决 CORS 问题 问题描述 在项目开发中,我们有一个包含大量 SVG 图标的 icon.js 文件,这些图标以 SVG 的形式存储。为了方便开发团队查看和使用这些图标,我们需要创建一个静态 HTML…
- 2026-09-29北京 本文字数:1439 字 阅读完需:约 5 分钟 SolidStart 2.0 正式发布,以 Vite 8 Environment API 替代 Vinxi 构建层,实现全栈构建流程统一与现代化。底层重构依托 R…
上周四凌晨,我盯着监控面板上 内存泄漏曲线 的陡峭爬升,终于在一个看似无害的工具函数里揪出了凶手——一个潜伏了三年多的闭包引用。你可能觉得闭包的基础知识早就烂熟于心了,但这个案例会让你重新审视那些"理所当然"的代码。 场景复现:内存泄漏的幽…
live.csdn.net/v/545060 玩游戏的时候,我总被别人虐。次数一多,我冒出了一个很直接的想法:既然在别人的游戏里总挨打,那我能不能自己做一款游戏,把规则、技能和敌人都掌握在自己手里?这一次,我要做游戏里的王,目标也很简单——…
一个后台页面,功能都做完了:筛选能查,表格能翻页,弹窗能保存。 但你盯着它看,总觉得差点意思。 查询是主按钮,新增是主按钮,每一行又摆着三四个蓝色操作;姓名、账号、状态、时间一样醒目;筛选一个框,表格一个框,外面再套一个框。 单独看,每个组…
刚开始运行 Cabloy Basic 时,通常会看到两类命令: 它们都能打开 SSR 页面,却服务于不同的目标: npm run dev 默认访问 http://localhost:7102; npm run dev:zova:* 默认访问…
从零实现一个带虚拟滚动的 Select:原理、踩坑与 el-select-v2 对比 面试时被问"你封装过什么组件",只会答"封装过 table、form"是不够的。 这篇文章记录一个真正能体现高级前端水准的作品:带虚拟滚动的下拉选择器。 …
在现代前端开发中,由于浏览器受到 同源策略(Same-Origin Policy) 的限制,前端请求不同源的后端接口时,经常会遇到跨域问题。 在开发阶段,一个非常常见的解决方案,就是通过 Vite、Webpack Dev Server 等本…
> 前一讲把 RAG 讲完了,这一讲专门讲前端工程化。核心内容:Pinia 双 Store 怎么分、并发刷新的"单飞+排队"模式(第 3 讲讲过设计,这讲补全实现)、Markdown 渲染让版式起飞的坑、以及 RBAC 权限的前端实现。 项…
源码交付清单:做完一个项目,你到底该从开发商手里拿到什么 很多团队在验收软件时,只确认"能打开、能点",然后开发商甩过来一个 setup.exe 或一个小程序二维码,这事就算完了。但exe / 二维码只是结果,真正决定你后续能不能改、能不能…
凌晨1点,我盯着屏幕上诡异的Cannot read property 'xxx' of undefined错误,第六次刷新页面后终于意识到:又是this的锅。那天本可以准时下班,却因为一个嵌套回调中的this指向问题,硬生生调试到深夜。如果…
Day15 把 Fiber 架构拆开了:渲染变成了可中断的工作队列,状态藏在双缓存树里。今天在这个地基上回答一个更贴近日常的问题:函数组件每次渲染都会整个重新执行一遍,那 useState 保存的状态到底存在哪里?凭什么函数执行完就"消失"…
Codex 只读审查的权限边界:任务文件是谁写的? 只读审查,任务文件为何更新 一次 Codex 审查没有修改仓库代码,却留下了新的任务 JSON。看到这种现象,先别把它判成“只读沙箱失效”。更值得追问的是:文件由哪个进程写入,read-o…
做本地商家调研时,我拿到过一份 200 行的表格:商家名、评分、地址、排名。表格里看半天,看不出「哪片区域密、哪片区域空、我的店被谁围着」。后来把这些点画到地图上,问题十秒内一目了然——这就是地图可视化的价值:坐标数据放在表里是数字,放在地…
超大代码评审卡顿,通常不是“行数太多”这么简单。GitHub公开的极限样本包含2200个文件、超过100万行改动和400多条行内评论。它真正难处理的是评论高度会随图片、折叠块和回复框变化。GitHub的核心判断很值得复用:确定高度与未知高度…
Day14 把 TypeScript 工程讲完了,阶段三正式进入框架内核。React 近几年的所有大事:Concurrent Mode、Suspense、useTransition、React 19 的 use(),根都在同一个地方:Fib…
> 一个面向 ant-design-vue / element-plus 用户的 Vue 3 表格替换件,今天正式进入 Vue 官方组织维护的 awesome-vue 清单。 先说结论 2026 年 9 月 24 日,我提交给 vuejs/…