Skip to content

namehu/taro-react-native-0.79

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taro React Native 0.79

基于 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:weapp

启动 H5

yarn dev:h5

启动 React Native

React Native 开发需要同时运行 Metro 服务和原生应用。

Step 1: 启动 Metro 服务 (Dev Server)

yarn dev:rn

Step 2: 启动原生应用 (另开一个终端)

  • Android:

    yarn android
    # 或者使用 Android Studio 打开 android 目录启动
  • iOS:

    yarn ios
    # 推荐使用 Xcode 打开 ios 目录启动,以便更好地查看日志

🏗 打包发布

Android

  • 打 UAT 包:

    yarn release:uat:android
  • 打生产包:

    yarn release:android

iOS

  1. 打包 JSBundle:

    yarn build:ios
  2. 打包 APP:

    • 使用 Xcode 打开 ios 目录。
    • 选择 Product -> Archive 进行打包。

⚙️ 环境变量配置

详情参考 Taro 环境变量配置

框架默认提供了三种环境:

  • dev (开发环境): .env.development
  • uat (测试环境): .env.uat
  • prd (生产环境): .env

❓ 常见问题 (Q&A)

1. 控制台提示无效的 React Native 样式属性

现象: 使用了 #ifndef rn 等条件编译标记,但 Taro 编译时依然报错提示无效样式。 解答: 实际上条件编译是生效的,样式不会应用到 RN 端。但 Taro 编译器的校验较为严格,您可以忽略这个错误

2. Android 启动报错:JDK 版本问题

解答: 请检查 android/gradle.properties 文件。 找到 org.gradle.java.home 配置项(约第 53 行),取消注释并修改为你本地的 JDK 路径。

3. yarn release:android 打包失败

解答: 可能是缓存导致的问题。请尝试删除 android/app/.cxx 目录后重试。

📚 资料

About

taro-react-native 0.79版本

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published