Uni-App to Uni-App X 迁移工具箱
🎯 工具概述
基于Java框架的uni-app 3.x项目,自动迁移到uni-app x最新版本的工具箱。
📋 迁移目标
- 源项目: niucloud-java/uni-app (uni-app 3.0.0-3080720230703001)
- 目标架构: uni-app x (最新版本)
- 技术栈: Vue3 + TypeScript → UTS + Vue3 + uvue
🔧 工具箱结构
tools-uni/
├── README.md # 说明文档
├── migration-coordinator.js # 迁移协调器
├── generators/ # 生成器目录
│ ├── page-generator.js # 页面迁移生成器
│ ├── component-generator.js # 组件迁移生成器
│ ├── config-generator.js # 配置文件生成器
│ └── dependency-generator.js # 依赖包生成器
├── transformers/ # 转换器目录
│ ├── script-transformer.js # 脚本转换器 (TS → UTS)
│ ├── style-transformer.js # 样式转换器
│ └── template-transformer.js # 模板转换器
└── utils/ # 工具函数
├── file-utils.js # 文件操作工具
├── path-utils.js # 路径处理工具
└── analysis-utils.js # 代码分析工具
🚀 核心功能
1. 自动迁移能力
- 页面迁移: Vue3 Composition API → UTS语法
- 组件迁移: 自定义组件 → uvue兼容组件
- 样式迁移: CSS/SCSS → uvue样式
- 配置文件: pages.json, manifest.json, vite.config.ts
2. 依赖升级
- 核心框架:
@dcloudio/uni-app→@dcloudio/uni-app-x - 构建工具: Vite 4.0.4 → 最新版本
- UI组件: uview-plus → uvue兼容版本
- 状态管理: Pinia → 兼容版本
3. 平台支持
- ✅ Android (编译为Kotlin)
- ✅ iOS (编译为Swift)
- ✅ 鸿蒙next (编译为ArkTS)
- ✅ Web
- ✅ 微信小程序
📖 使用方法
# 1. 运行完整迁移
node migration-coordinator.js
# 2. 分步迁移
node generators/page-generator.js
node generators/component-generator.js
node generators/config-generator.js
🔍 迁移分析
Java框架uni-app技术栈
{
"框架版本": "3.0.0-3080720230703001",
"Vue版本": "3.3.0",
"UI组件": "uview-plus 3.1.29",
"状态管理": "Pinia 2.0.36",
"样式": "WindiCSS + Sass",
"构建工具": "Vite 4.0.4"
}
主要迁移点
- Script标签:
<script setup lang="ts">→<script>(UTS) - 类型定义: TypeScript → UTS类型系统
- 组件库: uview-plus → uvue兼容组件
- API调用: uni.* → 原生平台API
- 样式: CSS特性适配uvue渲染引擎
⚙️ 配置选项
sourcePath: Java框架uni-app源码路径targetPath: 目标uni-app x项目路径migrationMode: 迁移模式 (full/incremental)platformTarget: 目标平台 (android/ios/harmony/web)