基于 Taro 4.x + React Native 0.79 的升级适配版本
本项目基于官方 0.73 版本升级而来,旨在解决因 React Native 版本过低导致的问题。
- 本项目仅供学习参考,或作为开发者需要升级到 RN 0.79 版本时的借鉴,请仔细辨别。
- 本项目在尽量确保功能正常的情况下升级到了 0.79 版本。但由于时间关系,在删除了大量内部业务代码的情况下没有进行全面的测试。
- 如果您在使用过程中遇到了问题,欢迎提交 Issue。
- Node: >= 18.0.0
- Taro: 4.1.2
- Yarn: 1.x
请确保网络环境通畅,建议使用代理软件。
yarn install如果安装失败或速度过慢,请在命令行中设置代理(请替换 [代理工具端口号] 为实际端口):
Windows (CMD):
set http_proxy=http://127.0.0.1:[代理工具端口号]
set https_proxy=http://127.0.0.1:[代理工具端口号]macOS / Linux:
export http_proxy=http://127.0.0.1:[代理工具端口号]
export https_proxy=http://127.0.0.1:[代理工具端口号]如果安装失败,请检查代理设置并尝试多次安装。
yarn dev:weappyarn dev:h5React Native 开发需要同时运行 Metro 服务和原生应用。
Step 1: 启动 Metro 服务 (Dev Server)
yarn dev:rnStep 2: 启动原生应用 (另开一个终端)
-
Android:
yarn android # 或者使用 Android Studio 打开 android 目录启动 -
iOS:
yarn ios # 推荐使用 Xcode 打开 ios 目录启动,以便更好地查看日志
-
打 UAT 包:
yarn release:uat:android
-
打生产包:
yarn release:android
-
打包 JSBundle:
yarn build:ios
-
打包 APP:
- 使用 Xcode 打开
ios目录。 - 选择
Product->Archive进行打包。
- 使用 Xcode 打开
详情参考 Taro 环境变量配置。
框架默认提供了三种环境:
- dev (开发环境):
.env.development - uat (测试环境):
.env.uat - prd (生产环境):
.env
现象: 使用了 #ifndef rn 等条件编译标记,但 Taro 编译时依然报错提示无效样式。
解答: 实际上条件编译是生效的,样式不会应用到 RN 端。但 Taro 编译器的校验较为严格,您可以忽略这个错误。
解答: 请检查 android/gradle.properties 文件。
找到 org.gradle.java.home 配置项(约第 53 行),取消注释并修改为你本地的 JDK 路径。
解答: 可能是缓存导致的问题。请尝试删除 android/app/.cxx 目录后重试。