# 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) |
--dry-run用途:升级前查看将产生哪些变更
qrn upgrade-to-rn77 --dry-run
用途:只升级依赖和配置,保留业务代码
qrn upgrade-to-rn77
package.json 依赖代码转换示例:
// 需要手动处理
<View></View> // → <></>
用途:自动处理常见兼容性问题
qrn upgrade-to-rn77 --upgradeCode
<View></View> → <></>用途:处理复杂框架升级
qrn upgrade-to-rn77 --upgradeCode --mobx --redux --ai
覆盖场景:
代码转换示例:
// MobX
@observable count = 0; → count = observable(0);
// Redux
const mapStateToProps = (state) => ({ user: state.user });
→ const user = useSelector((state) => state.user);
用途:依赖和配置已经手动调整,只需要运行代码改造工具
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