能否将expo-cli创建的React Native项目转换为react-native-cli项目?
Expo项目迁移至react-native-cli项目操作指南
可行性说明
该操作完全可行。Expo官方提供了原生导出能力,可将Expo托管的项目转换为支持react-native-cli构建的原生项目,满足需要自定义原生代码、不依赖Expo运行时的开发需求。
具体操作步骤
- 前置环境校验
先确认本地已配置好react-native-cli要求的原生开发环境:Android端需配置JDK、Android SDK、对应环境变量,iOS端需配置Xcode、CocoaPods。操作前将当前项目所有代码改动提交到Git仓库,避免操作失误丢失内容。 - 执行原生导出命令
在项目根目录执行Expo官方导出命令:npx expo prebuild
执行过程中会提示输入Android的applicationId和iOS的Bundle ID,按实际需求填写即可。注意:如果你使用的是Expo SDK 45及更早版本,对应导出命令为
expo eject,建议优先升级到SDK 46+版本后使用expo prebuild操作,兼容性更佳。 - 验证构建能力
命令执行完成后,项目根目录会生成android和ios两个原生项目文件夹,此时可直接使用react-native-cli的标准命令启动项目:
安卓启动命令:npx react-native run-android
iOS启动命令:npx react-native run-ios
执行命令确认项目可正常构建、运行无异常即可。 - 清理Expo专属依赖(可选)
如果你后续完全不需要使用Expo相关能力,可手动卸载项目中安装的Expo专属SDK包,删除根目录app.json中的Expo配置段,后续完全按照原生react-native-cli项目规范开发即可。
注意事项
- 若项目中使用了Expo专属的原生能力SDK(如expo-camera、expo-location等),导出后这些依赖仍可正常使用,无需额外迁移,除非你手动卸载对应包。
- 导出操作不可逆,执行前务必做好代码备份。
- 导出后如果需要修改原生配置,直接编辑android、ios文件夹下的原生项目配置即可,无需再通过Expo配置文件托管。
内容的提问来源于stack exchange,提问作者Sumit
相关产品推荐
相关产品推荐

