首页
学习
活动
专区
圈层
工具
发布
首页标签前端工程化

#前端工程化

Vite 开发服务器热更新失效?从 WebSocket 连接排查到 HMR 边界分析

超哥前端记录

本地开发时 Vite 的热更新突然不工作,改完代码浏览器没有任何反应,控制台也不报错,只能手动刷新。这种现象在多人协作项目里出现的频率不低,尤其是从 Webpa...

300

如何用 AbortController 取消 fetch 请求并处理竞态问题

超哥前端记录

在搜索框输入关键词时,每敲一个字就发一次请求,如果用户打字很快,就会同时存在多个未完成的 fetch。先发出的请求可能后返回,导致页面显示的不是最新关键词的结果...

100

前端防抖节流:从手动实现到 AbortController 取消请求,说清楚几个容易搞混的细节

用户1839651

输入框搜索联想、窗口 resize 重排、按钮防重复提交这些场景里,防抖和节流几乎是条件反射就会用上的东西。但实际维护项目时我见过不少写法把两者用反,或者只做了...

12310

前端路由刷新 404:从 devServer 到 Nginx 的完整排查路径

超哥前端记录

单页应用用 history 模式上线后,用户点进二级页面再按 F5,浏览器直接返回 404,这是很常见的部署问题。它通常不是前端代码写错了,而是请求路径 /us...

11310

Vite 开发时 import 路径大小写不一致导致 HMR 失效的排查过程

超哥前端记录

最近在做一个后台管理项目,本地开发时改了组件里的样式,浏览器偶尔不会自动热更新,必须手动刷新才能看到变化。一开始以为是 Vite 的 HMR 偶发问题,重启几次...

10810

在 Vue 3 和 React 中,el-table 那种“虚拟滚动+动态行高”到底该怎么落地?

用户1839651

表格组件在后台系统里几乎是刚需,但当数据量上千行、每行内容高度又不固定时,浏览器会直接卡成幻灯片。很多人第一反应是找现成的虚拟滚动库,可用在 el-table ...

12910

Vue 3 中如何正确监听元素尺寸变化:ResizeObserver 与自定义指令的实战

用户1839651

做后台管理系统的图表模块时,经常遇到一个情况:容器宽度明明是 100%,图表初始化后却挤在角落,或者拖拽侧边栏后图表没有重新计算尺寸,留出大片空白。这类问题大多...

9810

URLSearchParams 的隐藏坑:为什么你的查询参数总是多一个加号?

超哥前端记录

处理带查询字符串的 URL 时,很多人习惯用 URLSearchParams 来拼接或解析参数,毕竟它是浏览器原生 API,比手写 encodeURICompo...

9110

别再用 moment.js 了:从 date-fns 重构 20 个日期处理场景的真实记录

用户1839651

项目里 moment.js 的包体积和可变性坑了很多次。打包分析里 moment + locales 占了 300KB 以上,Tree-shaking 几乎无效...

11410

报名表单填到一半退出,回来数据还在吗:H5 表单草稿的自动保存与多端恢复

用户5598620

用户在活动报名 H5 里填了姓名、手机号、选好了场次,接个电话、切个后台,回来页面一刷新,全没了,只能重填。对报名、预约、问卷这类以收集信息为目的的 H5 来说...

11510

官网一发版用户就看到旧页面、样式还错乱:静态资源 contenthash、强缓存与缓存破坏的发版方案

用户5598620

官网每次发版后,最常见的几类客诉是:"我看到的还是旧页面""排版和图片全乱了""按钮点了没反应"。

8800

用 AbortController 取消 fetch 请求时,组件卸载后的状态更新怎么处理

用户12771345

在单页应用里,用户快速切换路由或反复触发搜索时,经常会出现一个组件已经卸载,但之前发出的 fetch 请求才刚返回,然后回调里执行 setState 导致 Re...

11710

在前端项目中定期清理 localStorage:一个容易被忽视的过期策略

超哥前端记录

做后台系统时经常把一些不敏感的状态塞进 localStorage,比如展开的菜单、表格列宽、临时筛选条件。时间一长,这些键值越积越多,用户换了设备或者需求变更后...

11010

如何让history模式下的SPA在刷新子路由时不404——Nginx与Vite配合的完整路径

用户12771345

用 Vue Router 或 React Router 的 history 模式时,本地开发一切正常,点链接跳转也顺滑,但一旦部署到 Nginx 或静态托管平台...

19810

别急着关掉 sourceMap,它能在生产环境救你一命

超哥前端记录

线上报错日志里出现 app.3f7a2b.js:1:48291 这种堆栈时,你盯着压缩后的单行代码基本看不出问题在哪。很多人第一反应是去本地复现,反复刷新、切换...

14310

Vite 构建时如何自动生成并注入 Web Worker 实例

用户1839651

在维护一个数据可视化项目时,我需要把大量 CSV 解析和坐标计算从主线程挪到 Web Worker 里,避免页面在加载数据时卡死。项目用 Vite 构建,开发时...

14300

Vite 开发环境为什么比 Webpack 快?从预构建与原生 ESM 说起

超哥前端记录

很多人第一次从 Webpack 切到 Vite 时,最直观的感受就是 npm run dev 几乎秒开,改代码后热更新也快得不太真实。但真要把项目迁过去,又会遇...

15610

官网改版后旧链接全变404?一张301映射表加死链巡检把收录接回来

用户5598620

官网改版、更换建站系统、重新规划栏目结构后,最常见的“暗伤”就是旧链接集体失效:原来被搜索引擎收录、被外部文章引用的页面,一夜间全部变成404。结果是自然流量下...

15510

AI 前端工程化:上下文、规范与验证如何形成开发操作系统

老猫-Bond

当 AI 开始参与整个开发过程,团队需要的就不再是更多零散工具,而是一套让工具能够协同工作的开发操作系统。

14210

官网做多语言,翻译一缺就显示key?前端国际化的词条回退链与无刷新切换方案

用户5598620

企业官网一旦要面向海外客户做多语言,真正难的不是引入一个国际化库,而是上线后那些细碎的翻车:某处翻译没填,页面直接把 home.banner.title 这种词...

14510
领券