OpenHarmony的npm仓库覆盖范围

OpenHarmony的npm仓库覆盖范围 OpenHarmony的npm第三方库具体支持哪些,如何查询?

6 回复

如果你要查询openharmony的三方库推荐你去官方的网站:

https://ohpm.openharmony.cn/#/cn/home

cke_646.png


一、OpenHarmony使用ohpm(OpenHarmony Package Manager)作为官方包管理工具(而不是npm),第三方库具体支持以下这些包类型:

1.支持HAR(Harmony Archive)格式的共享包

2.支持HSP(Harmony Shared Package)动态包

3.兼容本地模块源码、本地HAR/HSP包(需配置file:路径)

二、第三方开源库可以去他的核心仓库为OpenHarmony三方库中心仓去查询:

网页版 https://ohpm.openharmony.cn/#/cn/home

第三方库中心, 

https://ohpm.openharmony.cn/

关于OpenHarmony对npm第三方库的支持及查询方式,现结合技术规范说明如下:

一、OpenHarmony支持的第三方库

适配机制

OpenHarmony通过ohpm(OpenHarmony Package Manager)管理三方库,支持经过HarmonyOS适配的npm生态库。例如:

@iuroc/openai:OpenAI请求工具库,保留TypeScript定义

@changwei/openai:支持ChatCompletion等接口的ArkTS实现

@notimetogo/library:提供通用页面容器组件(含react/axios等依赖)

核心要求

库需封装为.har格式,支持HarmonyOS API调用

必须声明兼容性(如compileSdkVersion: 6.0.0+)

完整权限声明(参考module.json5配置)

二、查询三方库的详细方法

通过ohpm info命令查询库信息(需ohpm 6.0.2+):

# 基础查询
ohpm info @ohos/lottie

# 指定仓库和字段
ohpm info @ohos/lottie --registry https://ohpm.openharmony.cn/ohpm dependencies

# 分页查看版本
ohpm info @ohos/lottie versions --pageNum 1 --pageSize 50

关键参数说明:

field:支持keywords/license/versions等元数据

–registry:指定仓库地址

–pageSize:分页数量(1-500)

输出示例:

@ohos/lottie@2.0.10 | MIT | deps: none
keywords: OpenHarmony, Lottie
latest: 2.0.10
dist.tarball: https://repo.harmonyos.com/ohpm/@ohos/lottie/-/lottie-2.0.10.har

OpenHarmony npm仓库主要提供HarmonyOS应用开发所需的npm包,涵盖UI组件、系统能力接口、工具链等。支持ArkTS/TS/JS开发,覆盖基础组件、网络、多媒体、数据管理等模块。

OpenHarmony的npm仓库(即OpenHarmony三方库中心,通常通过ohpm访问)主要覆盖以下类型的第三方库:

  1. 纯JavaScript/TypeScript库:不依赖原生能力的JS/TS库,如工具函数库(lodash)、框架(Vue/React编译后代码)等,通常可直接使用。

  2. OpenHarmony原生API封装库:针对OpenHarmony的API(如UI组件、文件管理、网络请求等)进行封装的JS/TS库,提供更便捷的调用方式。

  3. 纯资源类库:如图标、主题、静态数据等。

  4. 符合OpenHarmony Native API规范的Native库:通过NAPI(Native API)封装的C/C++库,提供JS/TS接口调用原生能力。

查询方法

  • ohpm官方仓库:访问ohpm.openharmony.cn,可直接搜索库名或浏览分类。
  • 命令行查询:使用ohpm search <package-name>命令搜索。
  • 查看库的oh-package.json:库的配置文件中会声明依赖和OpenHarmony版本要求。

注意

  • 库需明确声明支持OpenHarmony,并遵循其API约束。
  • 部分npm库可能需适配,尤其是依赖浏览器或Node.js特定API的库。
  • 开发前建议验证库的兼容性,参考官方文档或社区案例。
回到顶部