From 4239dee6949854fc3dbe21ce4cd3378a8bdc5a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=81=E8=A8=80=E6=B2=B3D0362319?= Date: Fri, 26 Sep 2025 17:23:25 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E5=AD=97=E6=AE=B5=E4=B8=8D=E5=87=86=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zh-cn/turbomodule.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/zh-cn/turbomodule.md b/zh-cn/turbomodule.md index 46f86b5..915272d 100644 --- a/zh-cn/turbomodule.md +++ b/zh-cn/turbomodule.md @@ -154,6 +154,9 @@ export default (TurboModuleRegistry.get("RTNCalculator"): ?Spec); } ``` +> 注意:使用npm初始化的项目执行npm run codegen-lib没问题。 使用pnpm初始化项目,会出现找不到codegen-lib-harmony命令。 + + 该脚本根据指定的 spec 文件,将脚手架代码生成到指定目录。 1. --npm-package-name: npm 包名(package.json 的 name 字段) @@ -205,7 +208,7 @@ export default (TurboModuleRegistry.get("RTNCalculator"): ?Spec); 在 `cpp/generated` 文件夹中,是所有连接 JS 和 HarmonyOS 的样板代码。 - `cpp/generated/RNOH/generated` 下生成的是自定义TurboModule对接 RNOH 框架所需的文件; -- `cpp/generated/react/renderer/components/rtn_centered_text` 下包含自定义组件所需的粘合代码,因为该示例只有 TurboModule 没有 Fabric 组件,所以可以发现该路径下生成的文件均是空实现。 +- `cpp/generated/react/renderer/components/rtn_calculator` 下包含自定义组件所需的粘合代码,因为该示例只有 TurboModule 没有 Fabric 组件,所以可以发现该路径下生成的文件均是空实现。 在 `ets/generated` 文件夹中,`turboModules` 下会生成类型定义文件,用于定义 RTNCalculator 这个 TurboModule 的接口规范。 @@ -358,7 +361,7 @@ public: ```txt # 设置 Codegen 生成目录,指定 generated 目录路径 -set(rtn_centered_text_generated_dir "${CMAKE_CURRENT_SOURCE_DIR}/generated") +set(rtn_calculator_generated_dir "${CMAKE_CURRENT_SOURCE_DIR}/generated") # 使用 GLOB_RECURSE 递归地查找所有在 generated 目录下的 .cpp 文件,并将其存储到变量 rtn_calculator_generated_SRC 中 file(GLOB_RECURSE rtn_calculator_generated_SRC "${rtn_calculator_generated_dir}/**/*.cpp") @@ -367,7 +370,7 @@ file(GLOB_RECURSE rtn_calculator_generated_SRC "${rtn_calculator_generated_dir}/ # CONFIGURE_DEPENDS 表示如果这些文件被修改,CMake 会重新配置 file(GLOB rtn_calculator_SRC CONFIGURE_DEPENDS *.cpp) -# 创建一个共享库 rtn_centered_text,包含两部分:rtn_centered_text_SRC 和 rtn_centered_text_generated_SRC +# 创建一个共享库 rtn_calculator,包含两部分:rtn_calculator_SRC 和 rtn_calculator_generated_SRC add_library(rtn_calculator SHARED ${rtn_calculator_SRC} ${rtn_calculator_generated_SRC}) # 为目标库 rtn_centered_text 设置包含路径,这些路径会包含当前源目录和 Codegen 生成文件所在的目录 @@ -537,6 +540,10 @@ ohpm install # RNOH_END: manual_package_linking_2 ``` +> 注:`target_link_libraries`中`rtn_calculator`来自:`RTNCalculator/harmony/rtn_calculator/src/main/cpp/CMakeLists.txt`通过`add_library(rtn_calculator...)`创建的。 + +> 注:`./rtn-calculator`仅是为了生成一个 独立子目录,方便管理,不和其他模块混在一起。只是用来存放构建产物的目录名。 + 打开 `exampleApp/harmony/entry/src/main/cpp/PackageProvider.cpp`,添加: ```diff -- Gitee