1 Star 0 Fork 4.9K

罗小黑 / docs

forked from OpenHarmony / docs 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
组件管理.md 16.90 KB
一键复制 编辑 原始数据 按行查看 历史
wenjun 提交于 2020-09-08 10:08 . add OpenHarmony 1.0 baseline

组件管理

依赖关系

生成基础bundle.json以后,需要继续添加组件依赖来实现更复杂的功能。此时需要知道所依赖组件的名称和版本号,并且把它们定义在bundle.json里面的dependencies字段中。

{
    "name": "my-bundle",
    "version": "1.0.0",
    "dependencies": {
        "net": "1.0.0"
    }
}

上述示例中,my-bundle组件依赖于net 1.0.0组件。在全局安装了 hpm CLI 工具之后,执行如下命令可以从远端仓库获取到依赖:

hpm install 

依赖获取以后,会保存到当前组件根目录下到ohos_bundles文件夹中。组件以及依赖之间会形成一个依赖关系的树状结构。全局安装了 hpm CLI 工具之后,在组件根目录下执行如下命令:

username@server MINGW64 /f/showcase/demo/demo
$ hpm list
+--demo@1.0.0
| +--@huawei/media@1.0.2
| +--@demo/sport_hi3518ev300_liteos_a@1.0.0
| | +--@demo/app@4.0.1
| | | +--@demo/build@4.0.1
| | | +--@demo/arm_harmonyeabi_gcc@4.0.0   
| | +--@demo/liteos_a@4.0.0
| | | +--@demo/third_party_fatfs@4.0.0     
| | | +--@demo/arm_harmonyeabi_gcc@4.0.0   
| | +--@demo/init@4.0.0
| | +--@demo/dist_tools@4.0.0

还可以使用图的形式,来查看当前组件的依赖关系,执行如下命令:

hpm dependencies

在当前目录下会生成deps_visual文件夹,里面包含两个文件,deps.html 和 deps-data.js。在浏览器中打开 deps.html 文件,就可以看到依赖关系的图形化展示(如下图)。

根据不同的依赖类型,图形结点呈现出不同的颜色。鼠标悬浮在结点上,可以查看当前结点的状态。

图 1 组件包依赖关系图

hpm操作命令参考

组件的全生命周期管理,可以通过hpm命令工具进行操作,hpm的操作命令如下(详细帮助可以执行 hpm -h学习):

表 1 hpm操作命令

命令类别

命令行

含义说明

版本查询

hpm -V 或 hpm --version

查看hpm-cli 版本号。

帮助查询

hpm -h 或 hpm --version

查看命令列表及帮助。

hpm -h

查看命令帮助。

创建

hpm init bundle

创建组件工程。

hpm init -t template

根据模板创建脚手架工程。

安装

hpm install 或hpm i

安装bundle.json中依赖的组件。

hpm install bundle@version

安装指定组件版本。

卸载

hpm uninstall bundle

删除depedencies依赖的组件。

hpm remove 或hpm rm bundlename

删除depedencies依赖的组件。

查看

hpm list 或者 hpm ls

显示当前组件/发行版所有的组件树。

hpm dependencies

生成当前组件/发行版依赖关系图(html格式)。

搜索

hpm search name

搜索组件,--json,可以以json格式输出 -type 可以设置搜索组件的类型,包括bundle,distribution,code-segment三种。

设置hpm配置项

hpm config set key value

设置配置值,如服务器地址,网络代理。

hpm config delete key

删除配置。

更新

hpm update

更新当前组件依赖的组件的版本。

hpm check-update

检查依赖的组件版本是否有更新。

编译

hpm build

编译组件/发行版。

hpm dist

发行版打包(依赖bundle.json的scripts中的dist脚本)。

打包

hpm pack

本地组件打包依赖。

烧录

hpm run flash

烧录固件(依赖bundle.json的scripts中的flash脚本)。

发布

hpm publish

发布组件,发布的组件在仓库中必须唯一,且版本唯一(需要账号登录)。

执行扩展命令

hpm run

执行bundle.json文件中定义的scripts脚本命令,支持多个命令可用 && 连接。

生成秘钥

hpm gen-keys

生成公钥/私钥对,将公钥配置到HPM服务端,可以实现hpm-cli

生成第三方开源说明

hpm gen-notice

根据每个组件的说明,生成一份合并后的第三方开源说明的合并文件

1
https://gitee.com/lawguiren/docs.git
git@gitee.com:lawguiren/docs.git
lawguiren
docs
docs
master

搜索帮助