diff --git a/README.md b/README.md index 9191751e3bbdd38272b0209db08264fc82c7ca70..3abc97cee8ceaba6785421f4b77c95a9d76e75e1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 简介 -本文档为React Native OpenHarmony 三方库开发调试文档。如果你在找如何搭建环境的文档,请移步[搭建开发环境](/zh-cn/environment.md) +本文档为 React Native OpenHarmony 三方库开发调试文档。 ## 概述 @@ -18,12 +18,6 @@ - [RN 基础](/zh-cn/base.md) - [RN 三方库](/zh-cn/third-party.md) -- 环境搭建 - - - [搭建开发环境](/zh-cn/environment.md) - -- 移植策略 - - [移植策略](/zh-cn/strategy.md) - 新架构迁移指南 - [新架构介绍](/zh-cn/new-architecture.md) @@ -31,20 +25,6 @@ - [Fabric 组件](/zh-cn/fabric.md) - [迁移三方库到新架构](/zh-cn/migration.md) -- 开源管理 - - - [版本控制](/zh-cn/version-control.md) - - [HarmonyOS RN三方库规范](/zh-cn/specification.md) - - [代码格式检查](/zh-cn/codelint.md) - - [本地打包三方库](/zh-cn/tgz.md) - - [发布三方库到 Github Packages](/zh-cn/github-package.md) - - [发布三方库到 NPM 官方仓](/zh-cn/npm.md) - -- checklist - - - [发布 release checklist](/zh-cn/repositories-release-checklist.md) - - [usage-docs checklist](/zh-cn/usage-docs-checklist.md) - - 其他 - [常见问题 Q&A](/zh-cn/qa.md) diff --git a/_sidebar.md b/_sidebar.md index c4b5fb63225fa9534266a9080258454e64d171ab..30374cf5ce3b9bd422984b92555620bd4a3fe039 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -6,10 +6,6 @@ - [RN 基础](/zh-cn/base.md) - [RN 三方库](/zh-cn/third-party.md) -- 环境搭建 - - - [搭建开发环境](/zh-cn/environment.md) - - 新架构迁移指南 - [新架构介绍](/zh-cn/new-architecture.md) @@ -17,20 +13,6 @@ - [Fabric 组件](/zh-cn/fabric.md) - [迁移三方库到新架构](/zh-cn/migration.md) -- 开源管理 - - - [版本控制](/zh-cn/version-control.md) - - [HarmonyOS RN三方库规范](/zh-cn/specification.md) - - [代码格式检查](/zh-cn/codelint.md) - - [本地打包三方库](/zh-cn/tgz.md) - - [发布三方库到 Github Packages](/zh-cn/github-package.md) - - [发布三方库到 NPM 官方仓](/zh-cn/npm.md) - -- checklist - - - [发布 release checklist](/zh-cn/repositories-release-checklist.md) - - [usage-docs checklist](/zh-cn/usage-docs-checklist.md) - - 其他 - [常见问题 Q&A](/zh-cn/qa.md) diff --git a/zh-cn/README.md b/zh-cn/README.md index 1baa8ab65cd39a0fd54cc7283f0e59fdbf27d830..3abc97cee8ceaba6785421f4b77c95a9d76e75e1 100644 --- a/zh-cn/README.md +++ b/zh-cn/README.md @@ -2,7 +2,7 @@ # 简介 -本文档为React Native OpenHarmony 三方库开发调试文档。如果你在找如何搭建环境的文档,请移步[搭建开发环境](/zh-cn/environment.md) +本文档为 React Native OpenHarmony 三方库开发调试文档。 ## 概述 @@ -17,29 +17,14 @@ - [简介](/zh-cn/README.md) - [RN 基础](/zh-cn/base.md) - [RN 三方库](/zh-cn/third-party.md) -- 环境搭建 - - [搭建开发环境](/zh-cn/environment.md) -- 移植策略 - - [移植策略](/zh-cn/strategy.md) - 新架构迁移指南 - [新架构介绍](/zh-cn/new-architecture.md) - [TurboModules](/zh-cn/turbomodule.md) - [Fabric 组件](/zh-cn/fabric.md) - [迁移三方库到新架构](/zh-cn/migration.md) -- 开源管理 - - - [版本控制](/zh-cn/version-control.md) - - [HarmonyOS RN三方库规范](/zh-cn/specification.md) - - [代码格式检查](/zh-cn/codelint.md) - - [本地打包三方库](/zh-cn/tgz.md) - - [发布三方库到 Github Packages](/zh-cn/github-package.md) - - [发布三方库到 NPM 官方仓](/zh-cn/npm.md) -- checklist - - - [发布 release checklist](/zh-cn/repositories-release-checklist.md) - - [usage-docs checklist](/zh-cn/usage-docs-checklist.md) + - 其他 - [常见问题 Q&A](/zh-cn/qa.md) diff --git a/zh-cn/codelint.md b/zh-cn/deprecated/codelint.md similarity index 100% rename from zh-cn/codelint.md rename to zh-cn/deprecated/codelint.md diff --git a/zh-cn/github-package.md b/zh-cn/deprecated/github-package.md similarity index 100% rename from zh-cn/github-package.md rename to zh-cn/deprecated/github-package.md diff --git a/zh-cn/npm.md b/zh-cn/deprecated/npm.md similarity index 100% rename from zh-cn/npm.md rename to zh-cn/deprecated/npm.md diff --git a/zh-cn/repositories-release-checklist.md b/zh-cn/deprecated/repositories-release-checklist.md similarity index 100% rename from zh-cn/repositories-release-checklist.md rename to zh-cn/deprecated/repositories-release-checklist.md diff --git a/zh-cn/specification.md b/zh-cn/deprecated/specification.md similarity index 95% rename from zh-cn/specification.md rename to zh-cn/deprecated/specification.md index 27cbc0bc1e44c744baf392816ae532a62a6e0f6d..cff41571cadce3e4b886c72b42d9d10d6d01a3a5 100644 --- a/zh-cn/specification.md +++ b/zh-cn/deprecated/specification.md @@ -14,21 +14,21 @@ HarmonyOS React-Native 三方库(以下简称 RNOH 三方库)是 React-Nativ 首先确认需要移植的 React-Native 三方库的原始仓库地址,然后 fork 原库的默认分支(一般是 `master` 或 `main`)到 react-native-oh-library 组织。Description 的内容改为这个三方库在 NPM 上的包名。 -![create repo](../img/create_repo.png) +![create repo](../../img/create_repo.png) 点击 "View all branches" 修改分支名称为 `sig`,作为仓库的默认分支。开发时,请另外新建开发分支或 fork 该仓库。 -![branch](../img/branch.png) +![branch](../../img/branch.png) 将 sig 设置为保护分支,只能通过 Pull Request 的形式合入修改。PR 需写清楚合入的修改,后续会自动生成 Release 信息。 -![branch_rules1](../img/branch_rules1.png) +![branch_rules1](../../img/branch_rules1.png) -![branch_rules2](../img/branch_rules2.png) +![branch_rules2](../../img/branch_rules2.png) 将仓库的 issue 功能开启,方便提交和跟踪三方库问题。 -![repository_issue](../img/repository_issue.png) +![repository_issue](../../img/repository_issue.png) ## commit 规范 @@ -89,7 +89,7 @@ docs(readme): update installation instructions > x.x.x-y.y.y -具体的版本命名方式请阅读[版本控制](/zh-cn/version-control.md)章节。 +具体的版本命名方式请阅读[版本控制](/zh-cn/deprecated/version-control.md)章节。 2. Target 分支 选择默认分支 sig(请确保变更已通过测试、代码检查和合入了默认分支) @@ -106,7 +106,7 @@ docs(readme): update installation instructions 4. 需要上传本地打包的 tgz 文件 -![grn](../img/grn.png) +![grn](../../img/grn.png) > [!TIP] Generate release notes 功能会自动根据两个 Tag 之间的异同生成 Release 信息,历史 PR 信息会生成到 What's Changed 下。 @@ -234,4 +234,4 @@ import LinearGradient from "react-native-linear-gradient"; ## 版本管理规范 -请阅读[版本控制](/zh-cn/version-control.md)章节。 +请阅读[版本控制](/zh-cn/deprecated/version-control.md)章节。 diff --git a/zh-cn/strategy.md b/zh-cn/deprecated/strategy.md similarity index 100% rename from zh-cn/strategy.md rename to zh-cn/deprecated/strategy.md diff --git a/zh-cn/tgz.md b/zh-cn/deprecated/tgz.md similarity index 100% rename from zh-cn/tgz.md rename to zh-cn/deprecated/tgz.md diff --git a/zh-cn/usage-docs-checklist.md b/zh-cn/deprecated/usage-docs-checklist.md similarity index 100% rename from zh-cn/usage-docs-checklist.md rename to zh-cn/deprecated/usage-docs-checklist.md diff --git a/zh-cn/version-control.md b/zh-cn/deprecated/version-control.md similarity index 100% rename from zh-cn/version-control.md rename to zh-cn/deprecated/version-control.md diff --git a/zh-cn/environment.md b/zh-cn/environment.md deleted file mode 100644 index a9a1944c887af861d27e1342ad39f75fc4baf10f..0000000000000000000000000000000000000000 --- a/zh-cn/environment.md +++ /dev/null @@ -1,161 +0,0 @@ -> [!WARNING] 本文档为非公开文档,仅用于三方库使用和开发指导,不涉及任何 React Native OpenHarmony 框架的信息,且会随着 React Native OpenHarmony 框架持续迭代更新,当前版本不代表最终展示版本。 - -# 搭建开发环境 - -这篇文档会帮助你搭建基本的 React-Native 开发环境。 - -## 安装 node 环境 - -我们需要安装`npm`包管理器,而安装了`node.js`就会自动安装`npm` - -### 安装 node - -官网下载安装程序,双击下载的 exe 安装,下一步下一步直到完成。 - -官网地址: - -> [!WARNING] Node 的版本应大于等于 16,推荐 18 - -### 验证安装 - -输入 node -v,npm -v 输出版本就是安装成功了 - -``` -#验证node -node -v - -#验证npm -npm -v -``` - -### Yarn - -这里更推荐 Yarn 来作为包管理工具 - -Yarn 是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。 - -``` -npm install -g yarn -``` - -安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用 `yarn` 代替 `npm install` 命令,用 `yarn add 某第三方库名` 代替 `npm install 某第三方库名`。 - -## 搭建 iOS 环境 - -iOS 环境主要用于效果比对和 React Native Demo 的开发。因为 ArkUI 对标 SwiftUI,RNOH 也对标 iOS,推荐搭建 iOS 环境,方便对齐效果。也可以在 iOS 环境使用 Codegen 生成代码。 - -> [!WARNING] 请先参考官方的 React-Naitve + ios 的环境搭建文档 [React Native Step Up](https://www.reactnative.cn/docs/environment-setup)。 - -## 搭建 Android 环境 - -搭建 Android 环境,用于效果比对和 React Native Demo 的开发和使用 Codegen 生成代码。 - -> [!WARNING] 请先参考官方的 React-Naitve + Android 的环境搭建文档 [React Native Step Up](https://www.reactnative.cn/docs/environment-setup) - -将 iOS / Android 环境搭建好,并成功运行 React-Native 官方给定的 demo 后再进行下一步。 - -## 搭建 HarmonyOS 环境 - -### IDE 和手机版本 - -HarmonyOS 环境需要注意 IDE 版本、SDK 版本和手机版本是否符合要求。具体下载地址请咨询 RNOH 接口人。 - -### 在 mac 上安装鸿蒙模拟器 - -[mac 上使用模拟器](https://harmonyosdevelopertest.devccsrnd.hwcloudtest.cn:3087/cn/docs/doc-guides-V4/run_simulator-0000001582636200-V4) - -[!WARNING] 安装模拟器成功后,启动模拟器,如果已经启动了 android 模拟器,deveco 无法发现鸿蒙模拟器,解决方法是先把 android 模拟器关闭。原因是当前 hdc 命令支持 adb,android 模拟器启动后,就不会再搜索鸿蒙模拟器了,后续版本会修复。 - -### 拉取 RNOH 代码 - -RNOH 包含的内容: - -1. react-native-harmony:react-native 的 HarmonyOS 拓展; -2. react-native-harmony-cli:react-native-cli 的 HarmonyOS 拓展; -3. tester:配置好的 HarmonyOS 支持的 React-Native 项目; - -拉取[rnoh](https://github.com/react-native-openharmony/rnoh)项目,需要授权账号。 - -选择 `main` 分支 - -## 创建新项目 - -> [!tip] 待完善能力:目前 HarmonyOS 还不支持新建项目的工具,需要手动引入,可跳过此步直接使用 RNOH 的 tester 项目。 - -使用 React Native 内建的命令行工具来创建一个名为 "AwesomeProject" 的新项目。这个命令行工具不需要安装,可以直接用 node 自带的 npx 命令来使用: - -> [!ATTENTION] **必须要看的注意事项一**:请不要在目录、文件名中使用中文、空格等特殊符号。请不要单独使用常见的关键字作为项目名(如 class, native, new, package 等等)。请不要使用与核心模块同名的项目名(如 react, react-native 等)。 - -> [!ATTENTION] **必须要看的注意事项二**:请不要在某些权限敏感的目录例如 System32 目录中 init 项目!会有各种权限限制导致不能运行! - -> [!ATTENTION] **必须要看的注意事项三**:请不要使用一些移植的终端环境,例如 git bash 或 mingw 等等,这些在 windows 下可能导致找不到环境变量。请使用系统自带的命令行(CMD 或 powershell)运行。 - -```bash -npx react-native@0.72.5 init AwesomeProject --version 0.72.5 -``` - -### Android & ios - -创建工具会自动为 Android 和 ios 生成工程底座,可直接使用。 - -### HarmonyOS - -如果要使用上述创建的 AwesomeProject,需要自行引入一个 harmony 工程(一般不推荐 HarmonyOS 平台自行新建项目,可以直接使用 RNOH 提供的示例项目 `tester`。) - -## 编译并运行 React Native 应用 - -### ios - -在你的项目目录中运行 yarn ios 或者 react-native run-ios: - -```bash -cd tester -yarn ios -# 或者 -react-native run-ios -``` - -### Android - -确保你先运行了模拟器或者连接了真机,然后在你的项目目录中运行 yarn android 或者 react-native run-android: - -```bash -cd tester -yarn android -# 或者 -react-native run-android -``` - -### Harmony - -- 安装所需依赖: - -在 `tester` 目录下,运行: - -```sh -npm i -``` - -打开 DevEco Studio,点击右上方出现的 "Sync" - -- 打包: - -在 `tester` 目录下打包生成 bundle,运行: - -```sh -npm run dev -``` - -生成的 bundle 会放在 `tester/harmony/entry/src/main/resources/rawfile` 目录下。 - -或者使用热更新,使用方式和 Android/iOS 一致: - -```sh -npm run start -``` - -- 运行 - -打开 DevEco Studio,Build 并运行 entry 模块 - -## 常见问题