Files

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"
}

主要迁移点

  1. Script标签: <script setup lang="ts"><script> (UTS)
  2. 类型定义: TypeScript → UTS类型系统
  3. 组件库: uview-plus → uvue兼容组件
  4. API调用: uni.* → 原生平台API
  5. 样式: CSS特性适配uvue渲染引擎

⚙️ 配置选项

  • sourcePath: Java框架uni-app源码路径
  • targetPath: 目标uni-app x项目路径
  • migrationMode: 迁移模式 (full/incremental)
  • platformTarget: 目标平台 (android/ios/harmony/web)