# H5 → 微信小程序迁移:实战全路径方法论 > 基于 board-finance 等 7 个页面的实际迁移经验总结。 > 本文档是 `migration-guide.md`(理论流水线)的实战补充,聚焦工具链和操作细节。 > 更新日期:2026-03-08 --- ## 一、全路径概览 ``` H5 原型 HTML/CSS │ ▼ ┌──────────────────────────────────────────────────────┐ │ Phase 1: 结构转换(wxml + ts + wxss 三件套) │ │ 输入: H5 源码 + 交互说明 + design-tokens │ │ 规则: 标签映射 + 87.5% 缩放 + 事件转换 │ └──────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────┐ │ Phase 2: 编译验证(getDiagnostics + IDE 检查) │ │ 消除 TS 类型错误、wxss 语法警告 │ └──────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────┐ │ Phase 3: 像素级视觉对比(自动化工具链) │ │ H5 截图 ←→ 小程序截图 → diff → 定点修复 → 循环 │ └──────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────┐ │ Phase 4: 交互态验证(3 种交互态截图对比) │ │ filter-dropdown / tip-modal / toc-panel 等 │ └──────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────┐ │ Phase 5: 收尾(tracker 更新 + dev-tools 状态同步) │ └──────────────────────────────────────────────────────┘ ``` --- ## 二、Phase 1: 结构转换 ### 2.1 输入物 | 材料 | 路径 | 说明 | |------|------|------| | H5 源码 | `docs/h5_ui/pages/.html` | 结构与样式唯一真相 | | 交互说明 | `docs/h5_ui/interactions/.md` | 状态变量、事件响应 | | Design Tokens | `docs/h5_ui/design-tokens.json` | 颜色、间距、字号 | | 共享组件规范 | `apps/miniprogram/doc/shared-component-specs.md` | filter-dropdown 等 | | 避坑文档 | `apps/miniprogram/doc/h5-to-miniprogram-pitfalls.md` | 22+ 个已知坑点 | ### 2.2 核心缩放公式 ``` 最终 rpx = H5 px × 2 × 0.875 ``` - 结果取偶数(向最近偶数取整) - 来源:iPhone 15 Pro Max 430px 宽 → 小程序 750rpx 基准,87.5% = 750/430/2 - 示例:`16px → 16 × 2 × 0.875 = 28rpx`,`12px → 12 × 2 × 0.875 = 21 → 22rpx` ### 2.3 标签映射速查 | H5 | 小程序 | 注意 | |----|--------|------| | `
` | `` | | | `` | `` | 小程序 text 不支持嵌套 view | | `` | `` | 必须设 mode,默认 scaleToFill | | `` | `` 或 `bindtap` | 小程序无超链接 | | `` | `` 或 `` | TDesign 优先 | | `