OpenHarmony开发者论坛

标题: 三方库如何编写和封装 [打印本页]

作者: 写代码不是有手就行    时间: 2023-10-23 23:53
标题: 三方库如何编写和封装
[md]我正在开发一个UI类的三方库,拥有独立的页面MainPage.ets。目前已完成三方库的相关代码,但有以下问题:

1.如何才能将三方库的代码进行封装达到下面的效果:

* 对外只暴露几个函数
* 使开发者调用start函数即可跳转至三方库的页面MainPage
* 通过start函数的返回值获取运行结果
* 以上功能的实现代码应该写在工程目录下的哪个部分

2.如何像其他三方库一样只通过import一个名称就实现对整个三方库的引用
以Axios库为例,要如何编写我的三方库才能像如下代码一样供其他人使用?

`import axios from '@ohos/axios'`



[/md]
作者: mean    时间: 2023-10-24 14:46
标题: 三方库如何编写和封装

可以通过开发是静态共享包HAR(Harmony Achive)实现。
静态共享包HAR(Harmony Achive)可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。

1. 创建har包,参考开发及引用静态共享包
2. 使用库模块
如果是本地使用库模块,在entry目录下,oh-package.json5目录下添加依赖,即可在文件中通过import UILibrary from 'UILibrary'使用
(, 下载次数: 0)
如果想要其他人也可以使用,可以把三方库发布到ohpm三方库中心仓,参考文章如何贡献开源三方库


作者: 马迪    时间: 2023-10-24 15:15
1.建议在三方库里export函数,自定义组件,而不要暴露一个页面吧。
页面都写在应用里,跳转到自己的应用页面里,这个页面里使用三方库的自定义组件

2.oh-package.json5的库入口文件为index.js
参考axios三方库,在index.js里export你需要开发者使用的对象
https://gitee.com/openharmony-si ... ster/axios/index.js





欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5