发布开源库
NPM
全称 Node Package Manager ,它是一个 NodeJS 包管理和分发工具,已经成为了非官方的发布 Node 模块(包)的标准, OpenHarmony 同样支持使用npm工具管理和分发js库,本节我会以 **OpenSourceLib**为例简单介绍一下如何在 Gitee 上发布 OpenHarmony 应用的三方库。
创建 OpenSourceLib 项目
在本地创建 OpenSourceLib 项目,打开 Dev Eco Studio ,点击 File -> New -> Create Project ,如下所示:
选中 Empty Ability 模板,点击 Next ,添加项目信息如下所示:
点击 Finish ,等待项目构建完成,打开 entery 目录下的 package.json 文件,如下所示:
{
"license": "ISC",
"name": "OpenSourceLib",
"ohos": {
"org": "huawei",
"directoryLevel": "project",
"buildTool": "hvigor"
},
"description": "example description",
"repository": {},
"version": "1.0.0",
"dependencies": {
}
}
创建 OpenSourceLib 模块
右键项目名字 OpenSourceLib ,依次点击 New -> Module ,如下所示:
Ability模板选择 Ohos Library ,如下所示:
选择 Next ,填写 Module 信息, UI Syntax 选择 ArkTS ,如下所示:
点击 Finish ,在 OpenSourceLib 模块下的 MainPage 下,添加封装的 OpenSourceLib 源码 mini_canvas.ets ,然后修改 index.ets 文件,修改如下:
只把模块的代码上传到 Gitee 而不是整个项目都上传。
创建开源库
打开gitee,选择新建仓库,然后先创建私有项目。在去把它公开,
执行命令
$ git init
关联gitee仓
$ git remote add origin git@gitee.com:jianguo888/open-source-lib.git
将所有文件添加至缓存区
$ git add .
第一次强制拉取远程仓master分支
$ git pull origin master --allow-unrelated-histories
提交代码到缓存区
$ git commit -m '第一次版本提交'
可以看到我们本地有一个master分支
$ git branch
* master
发布我们的代码到gitee仓master分支
$ git push origin master
使用开源库
NPM本地安装组件
请不要在DevEco IDE中添加第三方库
先进入 OpenHarmony 项目的 entry 目录,然后执行【npm install git+仓库地址】命令即可。
npm install git+https://gitee.com/jianguo888/open-source-lib.git
命令执行完成后, package.json 文件会自动添加 open-source-lib 的依赖,如下所示:
{
"license": "ISC",
"name": "basiccompent",
"ohos": {
"org": "huawei",
"directoryLevel": "project",
"buildTool": "hvigor"
},
"description": "example description",
"repository": {},
"version": "1.0.0",
"dependencies": {
"@ohos/hvigor": "1.3.1",
"@ohos/hvigor-ohos-plugin": "1.3.1",
"@ohos/hypium": "1.0.3",
"@ohos/opensourcelib": "git+https://gitee.com/jianguo888/open-source-lib.git"
}
}
引入opensourcelib库
import {MainPage }from '@ohos/opensourcelib'
使用opensourcelib库
// xxx.ets
import {MainPage }from '@ohos/opensourcelib'
@Entry
@Component
struct AppExample {
build() {
Column() {
MainPage()
}
.width('100%')
.height('100%')
}
}
预览效果如图所示:
升级开源库
如果开源库的版本升级了,我们直接使用【npm install git+仓库地址#版本号】命令即可,执行完命令后,再 clean 一下项目并重新 build 一下。
例如升级 MiniCanvas 库,进入项目的 entry 目录,执行如下命令即可:
组件版本管理
我们修改分支1.0.1下的内容
package.json
{
...
"version": "1.0.1",
...
}
entry/src/main/ets/MainAbility/pages/index.ets
把颜色改成Orange
@Component
export struct MainPage {
@State message: string = '坚果'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width(100)
}
.height(100).backgroundColor(Color.Orange)
}
}
然后提交
此时运行下面的命令就可以。
npm install git+https://gitee.com/jianguo888/open-source-lib.git
到此就完成了。