← 返回文章列表
李奕锦的个人网站所属专题:架构之道

全球化 H5 前端架构白皮书:基于 Vue 3.5 + Vite 5 的极致工程实践

更新于 2025-11-23年份:2025字数:3,200阅读时长:9 分钟

本架构专为高并发、多语言、跨区域的移动端业务设计。遵循 "Less is More, Speed is King":极简架构、极致体验、低熵设计。涵盖 Vite 5 工程化、UnoCSS 原子化、DDD 状态管理、Vue I18n 全球化等核心技术决策。

全球化 H5 前端架构实践:基于 Vue 3.5 + Vite 5

这套架构是为高并发、多语言、跨区域的移动端业务设计的(如国际 APP、MVNO 通信、商旅服务),遵循"Less is More, Speed is King":尽量少折腾,尽量快。

1. 架构总览

目标三个:极简架构(用自动化干掉 90% 样板代码)、接近原生的流畅体验、通过规范约束防止长期维护里代码烂掉。

2. 技术选型与理由

2.1 构建与工程化:Vite 5 + Unplugin 生态

路由即文件系统:用 unplugin-vue-router。路由配置表不用手写,目录结构自然统一(Domain-based),协作冲突少。

隐式自动引入:auto-import + vue-components。import 写少了,专注业务就行。

遗留兼容:@vitejs/plugin-legacy。现代 ESM 开发体验保留,低端机型用 Polyfill 兜底,渐进增强。

2.2 视觉与适配:UnoCSS + PostCSS Mobile Forever

UnoCSS 编译时原子化,零运行时,CSS 体积随项目增长是对数曲线不是线性,膨胀问题基本解决。

视口适配用 presetRemToPx (base 4) + postcss-mobile-forever (375px, Max 1000px)。开发继续用 px,编译自动转 rem;最大宽度 1000px 限制,iPad/PC 上不至于拉伸变形。

2.3 状态管理:Pinia + PersistedState

按业务域拆 Store(mvno, trains, flights),再细分 passengerStore、bookStore。不搞单一大 Store,业务逻辑各管各的,减少交叉污染。

pinia-plugin-persistedstate 做持久化,H5 刷新或后台被查杀后能恢复状态,接近 Native 体验。

2.4 全球化与网络层:Vue I18n + Axios 封装

Axios 拦截器按 Region(UK/SG/TH)动态 replaceUrl,业务不关心物理部署,一套代码全球跑。

响应拦截器集成 xxxCrypto,加解密对业务透明,安全层和业务层隔离。

vue-i18n 联动 Vant/JTDesign 语言包,日期、弹窗等 UI 细节随语言自动切。

3. 技术栈速查

Core: Vue 3.5 + Vite 5(Composition API, Script Setup) Router: Vue Router 4(Hash Mode, 文件路由) State: Pinia(模块化 Store, LocalStorage 持久化) UI/CSS: Vant 4 + UnoCSS Network: Axios(动态 BaseURL、Token 注入、响应解密) I18n: Vue I18n 11 Build: Terser(drop_console, chunkSizeWarningLimit: 2048)

4. 性能与维护

FCP < 1.0s、TTI < 1.5s,核心包 gzip 后控在合理范围,Echarts/Axios 等重型依赖独立分包。

扩展性:新增"酒店业务"之类的模块,在 src/pages 建目录、加 Store 就行,不用动核心。Composables 把逻辑和 UI 拆开,API 独立封装,方便单测。工具链自动化后,人力成本自然下去。

5. 总结

这套东西不算花哨,重在平衡开发效率和运行性能,用模块化压住复杂度。做企业级 Global H5 的时候,算一个靠谱的起点。

阅读时长:9 分钟


文档信息

版权声明:自由转载-非商用-非衍生-保持署名(CC BY-NC-ND 3.0)

原文链接:https://yijinlee.com/share-future/article-5

作者:李奕锦

商业用途或修改衍生请联系授权。


TL;DR

  • 极简架构:Vite 5 + Unplugin 生态,自动化工具链移除 90% 样板代码,路由即文件、组件隐式引入。
  • 视觉适配:UnoCSS 原子化 + postcss-mobile-forever,px 直觉开发、rem 自动转换、最大宽度 1000px 防拉伸。
  • 状态与全球化:Pinia 模块化 DDD、持久化保活;Axios 动态 baseURL、透明加密;Vue I18n 组件级联动。
Tags:H5 架构Vue 3.5Vite 5 工程化DDD 状态管理原子化 CSS移动端适配国际化多语言前端性能优化

该专题下的阅读路径

系统设计原则 → 工程化实践 → 技术选型与重构