← 返回项目列表

行业协会官网重构

老站点的现代化重构:抽 Hooks 提高复用率 40%,构建链路换 Vite 后首屏从 3s 降到 1s 内。

前端开发

  • Vue 3
  • TypeScript
  • Element Plus
  • Vite
  • Composition API

做了什么

  • 用 Composition API 抽取公共逻辑为 Hooks,代码复用率提升 40%
  • Vite 替代 Webpack 并开启 Gzip,首屏加载从 3s+ 降到 1s 以内
  • 定制 Element Plus 主题变量,统一整站视觉规范
  • 响应式适配 PC / 平板 / 手机三端

背景

原站点是若干年前建的,技术栈老、构建慢、移动端基本没适配。重构目标有三个:性能要能看、代码要能维护、三端都要能用。

做了什么

复用率提升 40%

原代码把大量逻辑直接写在页面组件里,列表查询、分页、表单校验这些几乎每个页面都要抄一遍。改用 Composition API 把这些抽成 Hooks —— useTable、useForm、usePagination 之类 —— 页面只声明自己要什么,实现细节收敛到一处。

结果是复用率提升 40%,更实际的好处是改一处就全站生效,不用再去各个页面里翻同样的 bug。

首屏从 3s+ 到 1s 内

构建链路从 Webpack 换成 Vite,同时开启 Gzip 压缩。开发时的冷启动和热更新速度提升很明显,产物体积也降下来了,首屏加载时间从 3s 以上降到 1s 以内。

主题定制与响应式

Element Plus 的默认主题和站点原有的视觉规范不一致,通过覆写 CSS 变量统一了配色、圆角和字体,避免满屏 !important。

响应式部分按断点分别处理 PC / 平板 / 手机三端,重点是移动端的导航折叠和表格展示形态。

想法

重构项目的风险不在技术选型,而在范围失控 —— 很容易从「重构」变成「重写」,最后既没按时交付,还引入一堆原站点没有的 bug。这次的做法是先把不能动的边界划清楚(URL 结构、对外接口、既有数据),其余部分再谈优化。