【HarmonyOS Next之旅】DevEco Studio使用指南(三十四) -> 配置构建(一)

目录

[1 -> 多模块配置](#1 -> 多模块配置)

[1.1 -> 静态配置模块](#1.1 -> 静态配置模块)

[1.2 -> 动态配置模块](#1.2 -> 动态配置模块)

[2 -> 分模块编译](#2 -> 分模块编译)

[3 -> 添加依赖项](#3 -> 添加依赖项)

[3.1 -> 远程三方包](#3.1 -> 远程三方包)

[3.2 -> 本地文件夹](#3.2 -> 本地文件夹)

[3.3 -> 本地HAR/HSP包](#3.3 -> 本地HAR/HSP包)


1 -> 多模块配置

1.1 -> 静态配置模块

工程级build-profile.json5配置文件中"modules"字段,用于记录工程下的模块信息,主要包含模块名称、模块的源码路径以及模块的 target 信息。

例如以下目录中存在两个模块目录,您可在工程下的build-profile.json5配置文件,添加模块信息,使得模块与工程进行绑定:

其他配置文件:

  • oh-package.json5:应用的三方包依赖配置文件
  • local.properties: 应用本地环境配置文件
  • obfuscation-rules.txt: 应用模块的混淆规则配置文件
  • consumer-rules.txt: 库模块默认导出的混淆规则文件,会打包到HAR包中;仅支持HAR模块

工程下的build-profile.json5文件中模块配置示例:

复制代码
{
  "modules": [
    {
      "name": "module1", // 模块的名称。该名称需与module.json5文件中的module.name保持一致。在FA模型中,对应的文件为config.json。
      "srcPath": "./module1" // 模块的源码路径,为模块根目录相对工程根目录的相对路径
    },
    {
      "name": "module2",
      "srcPath": "./module2"
    }
  ]
}

1.2 -> 动态配置模块

Hvigor支持在hvigorconfig.ts脚本中动态添加或排除某个模块。

2 -> 分模块编译

Hvigor支持分模块编译和打包。您可以通过以下两种方式进行分模块构建:

  • 在DevEco Studio中,选中需构建的模块目录后,点击Build菜单栏下的"Make module 'module1'",其中"module1"根据具体工程模块名称显示;
  • 在DevEco Studio的Terminal中,指定模块进行编译。比如模块类型为entry,目标产物target为default,构建HAP模块,可执行以下命令:

hvigorw --mode module -p product=default -p module=module1@default assembleHap

3 -> 添加依赖项

应用/元服务支持通过包管理工具ohpm来安装、共享、分发代码,管理项目的依赖关系。本文介绍了在项目中如何添加依赖项。

您可在工程或模块下的oh-package.json5文件中的dependencies(生产依赖)/devDependencies(开发依赖)字段中指定依赖项,以上两种依赖字段均支持引用远程三方包、本地文件夹和本地HAR/HSP三种方式。oh-package.json5文件中的dynamicDependencies(动态依赖)仅限于动态依赖HSP的使用场景。以下配置以dependencies为例。

3.1 -> 远程三方包

在需要引入三方包的模块的oh-package.json5文件中设置三方包依赖,配置示例如下:

复制代码
"dependencies": {
  "@ohos/lottie": "^2.0.0"
}

3.2 -> 本地文件夹

在模块的oh-package.json5文件中设置本地文件夹,配置示例如下:

复制代码
"dependencies": {
  "folder": "file:../folder"
}

3.3 -> 本地HAR/HSP包

  • 引用HAR:

    "dependencies": {
    "package": "file:../package.har"
    }

  • 引用HSP(仅在release模式下,构建HSP会生成tgz包):

    "dependencies": {
    "package": "file:../package.tgz"
    }

依赖设置完成后,需要执行ohpm install命令安装依赖包,依赖包会存储在对应模块的oh_modules目录下。


感谢各位大佬支持!!!

互三啦

相关推荐
SummerKaze20 小时前
为鸿蒙开发者写一个 nvm:hmvm 的设计与实现
harmonyos
在人间耕耘3 天前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
王码码20353 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
HarmonyOS_SDK3 天前
【FAQ】HarmonyOS SDK 闭源开放能力 — Ads Kit
harmonyos
Swift社区3 天前
如何利用 ArkUI 框架优化鸿蒙应用的渲染性能
华为·harmonyos
特立独行的猫a3 天前
uni-app x跨平台开发实战:开发鸿蒙HarmonyOS影视票房榜组件完整实现过程
华为·uni-app·harmonyos·轮播图·uniapp-x
盐焗西兰花3 天前
鸿蒙学习实战之路-STG系列(5/11)-守护策略管理-添加与修改策略
服务器·学习·harmonyos
盐焗西兰花3 天前
鸿蒙学习实战之路-STG系列(4/11)-应用选择页功能详解
服务器·学习·harmonyos
lbb 小魔仙3 天前
鸿蒙跨平台项目实战篇03:React Native Bundle增量更新详解
react native·react.js·harmonyos
特立独行的猫a3 天前
uni-app x跨平台开发实战:开发鸿蒙HarmonyOS滚动卡片组件,scroll-view无法滚动踩坑全记录
华为·uni-app·harmonyos·uniapp-x