前端学HarmonyOS 鸿蒙Next-发布ohpm三方库
前端学HarmonyOS 鸿蒙Next-发布ohpm三方库
前言
前端技术栈有 npm 来管理安装三方依赖
npm install -S <package_name>
对于鸿蒙来说由 ohpm 来安装三方依赖,除了安装并使用三方依赖(值得注意的是 ohpm 安装不需要指定是 dependencies 还是 devDependencies)
ohpm install <package_name>
安装依赖很简单,本文更多的是总结并记录一下 如何开发一个三方库,并发布到 OpenHarmony,提供给其他项目安装使用。
如何发布 第三方库到 OpenHarmony
0. 创建个人账号+加入组织(创建个人组织)
- 创建个人账号:https://atomgit.com/callback?code=xb7v9cR2aX6jUaibTiBilOkju5NG3ZxFszHTXYCDzqc&state=3b5Lg-ayV
- 创建组织:https://ohpm.openharmony.cn/#/cn/personalCenter/organizations
该步骤需要审核,自己试了下还比较快,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. 等待审核
发布HarmonyOS鸿蒙Next的ohpm三方库,需遵循以下步骤:
- 创建并配置项目:在DevEco Studio中创建项目,并添加一个库模块,选择Static Library。配置oh-package.json5文件,确保信息完整。
- 准备必要文件:创建README.md、LICENSE和CHANGELOG.md文件,分别描述库的使用、许可和版本变更。
- 获取并配置公钥:生成SSH密钥对,将公钥上传至OpenHarmony三方库中心仓进行认证。
- 配置.ohpmrc文件:在项目根目录或用户目录下配置.ohpmrc文件,设置发布码和密钥路径。
- 构建和发布:构建HAR包,并使用ohpm publish命令发布到OpenHarmony三方库中心仓。
如果问题依旧没法解决请加我微信,我的微信是itying888。