QRN 升级到 RN 0.77 使用文档

快速开始

# 1. 预览升级改动
qrn upgrade-to-rn77 --dry-run

# 2. 只升级版本,不修改业务代码
qrn upgrade-to-rn77

# 3. 升级版本+修改代码,覆盖 Case:空 View 转空标签
qrn upgrade-to-rn77 --upgradeCode

# 4. 升级版本+修改代码+AI 场景覆盖,覆盖 Case:空 View 转空标签,MobX@6,Redux 升级、eventListener 升级
qrn upgrade-to-rn77 --upgradeCode --mobx --redux --ai

# 5. 仅修改代码(mobx,redux,ai) 适用于非QP项目的npm库升级
qrn upgrade-code --ai --mobx --redux

📖 选项说明

选项 说明
--dry-run / -d 预览升级操作,不实际执行
--upgradeCode 升级代码文件(空 View 转换等)
--mobx 启用 MobX 6 升级支持(需配合 --upgradeCode
--redux 启用 Redux 升级支持(需配合 --upgradeCode
--ai 启用 AI 辅助代码修改(需配合 --upgradeCode

🎯 使用场景

场景 1:预览升级 --dry-run

用途:升级前查看将产生哪些变更

qrn upgrade-to-rn77 --dry-run
  • ✅ 展示依赖升级计划
  • ✅ 展示配置文件变更
  • ❌ 不会修改任何文件

场景 2:仅升级版本

用途:只升级依赖和配置,保留业务代码

qrn upgrade-to-rn77
  • ✅ 升级 package.json 依赖
  • ✅ 更新配置文件
  • ✅ 自动安装依赖
  • ❌ 不修改业务代码

代码转换示例

// 需要手动处理
<View></View>  // → <></>

场景 3:升级版本 + 基础代码修改

用途:自动处理常见兼容性问题

qrn upgrade-to-rn77 --upgradeCode
  • ✅ 升级依赖和配置
  • ✅ 空 View 标签转换 <View></View><></>
  • ✅ 其他基础兼容性修改

场景 4:完整升级(MobX + Redux + AI)

用途:处理复杂框架升级

qrn upgrade-to-rn77 --upgradeCode --mobx --redux --ai

覆盖场景

  • ✅ 空 View 标签转换
  • ✅ MobX 6 装饰器语法升级
  • ✅ Redux Toolkit 迁移
  • ✅ 事件监听器 API 更新
  • ✅ AI 辅助处理复杂场景

代码转换示例

// MobX
@observable count = 0;  →  count = observable(0);

// Redux
const mapStateToProps = (state) => ({ user: state.user });const user = useSelector((state) => state.user);

场景 5:仅升级业务代码

用途:依赖和配置已经手动调整,只需要运行代码改造工具

qrn upgrade-code --ai --mobx --redux
  • ✅ 仅调用 @qnpm/qrn-upgrade-ai 对源代码进行修改
  • ❌ 不会触碰依赖、配置、构建流程
  • 💡 可配合 --path 参数指定待升级目录

⚠️ 注意事项

升级前

# 1. 备份代码
git add . && git commit -m "升级前备份"

# 2. 确保工作区干净
git status

升级后

# 清除缓存重新运行
qrn run --reset-cache

回滚操作

# 回滚所有更改
git checkout .

# 重新安装依赖
qrn install

🐛 常见问题

Q: 升级失败提示兼容性问题?

qrn upgrade-to-rn77 --force  # 强制升级

Q: 只想升级特定框架?

qrn upgrade-to-rn77 --upgradeCode --mobx    # 只升级 MobX
qrn upgrade-to-rn77 --upgradeCode --redux   # 只升级 Redux

Q: 构建失败怎么办?

qrn run --reset-cache  # 清除缓存重试

Q: 依赖安装失败?

qrn install  # 手动安装

📊 推荐升级步骤

# 1. 预览
qrn upgrade-to-rn77 --dry-run

# 2. 备份
git add . && git commit -m "升级前备份"

# 3. 升级(根据项目选择合适的场景)
qrn upgrade-to-rn77 --upgradeCode --mobx --redux --ai

# 4. 测试
qrn run --reset-cache

不同项目规模建议

项目规模 推荐方案
小型项目 场景 4 - 完整自动升级
中型项目 场景 2 → 测试 → 场景 3
大型项目 场景 1 → 场景 2 → 手动调整

最后更新:2025-10-27