前端学HarmonyOS 鸿蒙Next-发布ohpm三方库

发布于 1周前 作者 itying888 最后一次编辑是 5天前 来自 鸿蒙OS

前端学HarmonyOS 鸿蒙Next-发布ohpm三方库

前言

前端技术栈有 npm 来管理安装三方依赖

npm install -S <package_name> 
 

对于鸿蒙来说由 ohpm 来安装三方依赖,除了安装并使用三方依赖(值得注意的是 ohpm 安装不需要指定是 dependencies 还是 devDependencies)

ohpm install <package_name> 
 

安装依赖很简单,本文更多的是总结并记录一下 如何开发一个三方库,并发布到 OpenHarmony,提供给其他项目安装使用。

如何发布 第三方库到 OpenHarmony

0. 创建个人账号+加入组织(创建个人组织)

该步骤需要审核,自己试了下还比较快,1-2小时完成

1. 创建项目

可以不选择创建新项目,可以用已经创建的项目中创建新 Module

2. 创建新 Module Static Library

项目跟目录右键,New Module

查看确认library/src/main/module.json5 其中"type": "har"

什么是HAR: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/build_har-0000001495135030-V2

3. 准备四个文件

  • oh-package.json5
  • README.md
  • CHANGELOG.md
  • LICENSE

oh-package.json5

类似于 npm 的 package.json 将三方库发布到 OpenHarmony 三方库中心仓,必须包含 oh-package.json5 文件,其是对当前三方库的元数据描述,并且里面的配置项需要符合规范。当创建一个static library模块的时候会自动生成该文件,需要对配置项进行完善。更多详细说明:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/build_config-0000001052902431-V2#section3448173693813

README.md,CHANGELOG.md 和 LICENSE

和 npm 下他们的场景完全一样,只是对于 OpenHarmony 来说他们是必选项

4. 编写代码并打包成 HAR

选中HAR模块的根目录,点击Build > Make Module '<module-name>'启动构建。

5. 完成三方中心仓相关配置

认证管理

生成公钥

ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey 
 

上传公钥

请将公钥上传至OpenHarmony三方库中心仓【个人中心】-【认证管理】下:点击页面左上角的“新增”按钮,并将公钥文件(mykey.pub)的内容粘贴到公钥输入框中。

配置私钥

请将对应私钥文件路径配置到 .ohpmrc 文件中 key_path 字段上

ohpm config set key_path ~/.ssh_ohpm/mykey 
 

设置发布码 配置发布地址

ohpm config set publish_id your_publish_id
 
ohpm config set publish_registry https://ohpm.openharmony.cn/ohpm
 

6. 发布

执行如下命令发布HAR,<HAR路径>请指定为待发布HAR的具体路径

ohpm publish <HAR路径>

7. 等待审核

1 回复

发布HarmonyOS鸿蒙Next的ohpm三方库,需遵循以下步骤:

  1. 创建并配置项目:在DevEco Studio中创建项目,并添加一个库模块,选择Static Library。配置oh-package.json5文件,确保信息完整。
  2. 准备必要文件创建README.md、LICENSE和CHANGELOG.md文件,分别描述库的使用、许可和版本变更。
  3. 获取并配置公钥:生成SSH密钥对,将公钥上传至OpenHarmony三方库中心仓进行认证。
  4. 配置.ohpmrc文件:在项目根目录或用户目录下配置.ohpmrc文件,设置发布码和密钥路径。
  5. 构建和发布:构建HAR包,并使用ohpm publish命令发布到OpenHarmony三方库中心仓。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部