buildTool标识 OpenHarmony npm 包的构建工具是 hvigor, hvigorfile.js编译构建脚本。
directoryLevel : module , buildTool : hvigor } , as well as the relativity of all requires will be from here.[ string ] --requireWill require a module before running the vigorfile. This is useful for transpilers but also has other applications.[ string ] --prop, devDependencies : { } , // 调试或发布证书文件格式为.cer storePassword : ****** , // 传递给CMake的可选编译参数 abiFilters : [ // 用于设置本机的ABI编译环境 armeabi-v7a ]。
ohos/hvigor-ohos-plugin : 1.2.2 。
Node.js 版本要求 v14.18.3 及以上版本 安装 hvigor npm install ohos/hvigor --save安装 hvigor-ohos-plugin hvigor-ohos-plugin 是基于 hvigor 插件机制开发的一款插件服务于 OpenHarmonyOS 应用构建工作流完成 HAP/APP 打包, cppFlags : // 设置C编译器的可选参数}, buildTool : hvigor , version : 1.0.0 , // 密钥库密码以密文形式呈现 keyAlias : debugKey , 简介 Hvigor 是基于任务管理机制实现的一款全新的自动化构建工具主要提供任务注册编排编译工程模型管理编译配置定制插件扩展等核心能力当前主要面向 OpenHarmonyOS 应用的 JS/eTS 开发场景, modules : [{ name : entry , }。
ohos/hvigor : 1.2.2 }} 模块级別 package.json { license : ISC , compileSdkVersion : 8 , -iSet log level to info.[boolean] --debug,。
// 模块名称 srcPath : ./entry 。
-mSpecifies the mode in which the command is currently executed.[ string ] --sync, dependencies : { ohos/hypium : 1.0.2 ,{ name : ohosTest 。
ohos闭包OpenHarmony 应用/服务的扩展字段表示在 npm 标准规范的基础上叠加 OpenHarmony npm 包, org标识 npm 包的维护主体,OpenHarmony npm 包规范是在标准 npm规范 的基础上增加对 OpenHarmony 平台的拓展, // target名称由各个模块的build-profile.json5中的targets字段定义 applyToProducts : [ // 产品品类名称由products字段进行定义 default ]}]} ]} 模块级别 build-profile.json5 { apiType : faMode , version : 1.0.0 。
// 密钥密码以密文形式呈现 profile : D:\\SigningConfig\\debug_ohos.p7b , 什么是 Hvigor 命名的含义 Harmony vigor 寓意元气 活力 坚定以轻量、高速、便捷为宗旨, -dSet log level to debug.[boolean] 例如在工程目录下使用 Hvigor 工具通过命令行 Build Hap(s) 执行的命令如下 node node_modules /ohos/ hvigor /bin/ hvigor.js --mode module assembleHap应用和服务的构建配置 在进行 OpenHarmony 应用/服务的编译构建前需对构建配置文件、构建脚本、应用依赖的 npm 包等信息进行设置, // CMake配置文件提供CMake构建脚本 arguments : -v -DOHOS_STLc_shared , // 调试或发布证书Profile文件格式为.p7b signAlg : SHA256withECDSA , dependencies闭包设置工程依赖的 npm 包及版本在遵循 npm 原生的基础上可以添加 ohos 相关的依赖如构建插件OpenHarmony 三方共享包等, // 是否使用方舟编译器进行编译 // cpp相关编译配置 externalNativeOptions : { path : ./src/main/cpp/CMakeLists.txt , // 指定OpenHarmony应用/服务编译时的SDK版本 compatibleSdkVersion : 8 , DevEco 中的构建命令 Build Hap(s) node node_modules /ohos/ hvigor /bin/ hvigor.js --mode module assembleHap Build APP(s) node node_modules /ohos/ hvigor /bin/ hvigor.js --mode project assembleApp Make Module entry node node_modules /ohos/ hvigor /bin/ hvigor.js --mode module -p product -p moduleentry assembleHap Rebuild Project node node_modules /ohos/ hvigor /bin/ hvigor.js --mode module clean assembleHap Clean Project node node_modules /ohos/ hvigor /bin/ hvigor.js clean Previewer node node_modules /ohos/ hvigor /bin/ hvigor.js --mode module -p moduleentry buildPreviewerResource -p buildRoot.preview 。
build-profile.json5OpenHarmony 应用/服务构建配置文件, ohos : { org : huawei , repository : { } 。
name : entry ,}]} hvigorfile.js 工程级别 hvigorfile.js // FA 模型 module . exports require( ohos/hvigor-ohos-plugin ).legacyAppTasks // Stage 模型 module . exports require( ohos/hvigor-ohos-plugin ).appTasks 模块级別 HAP 的 hvigorfile.js // FA 模型 module . exports require( ohos/hvigor-ohos-plugin ).legacyHapTasks // Stage 模型 module . exports require( ohos/hvigor-ohos-plugin ).hapTasks 模块级別 HAR 的 hvigorfile.js // FA 模型 module . exports require( ohos/hvigor-ohos-plugin ).legacyHarTasks // Stage 模型 module . exports require( ohos/hvigor-ohos-plugin ).harTasks package.json OpenHarmony 应用/服务支持通过 npm 来安装、共享、分发代码管理工程的依赖关系, OpenHarmony 应用和服务使用 Hvigor 作为工程的构建工具, targets : [ // 模块对应的产物配置{ name : default , build-profile.json5 工程级别 build-profile.json5 { app : { signingConfigs : [ // 工程的签名信息可包含多个签名信息{ name : debug 。
// 指定当前产品品类对应的签名信息签名信息需要在signingConfigs中进行定义}] }, directoryLevel标识 npm 包是工程的依赖或是模块级的依赖, repository : {}, RootProject // Hvigor 工程根目录├── build-profile.json5 // 工程级别 Hvigor 配置主要配置工程相关信息包括子模块名字、路径等, license : ISC 。
}。
ohos : { org : huawei , package.json应用的 npm 包依赖在遵循 npm 标准规范的基础上支持 OpenHarmony npm 包的依赖,├── hvigorfile.js // 工程级别任务脚本├── ModuleA│ ├── build-profile.json5 // 模块级别 Hvigor 配置主要模块构建相关参数│ └── hvigorfile.js // 模块级别任务脚本└── ModuleB├── build-profile.json5 // 模块级别 Hvigor 配置主要模块构建相关参数└── hvigorfile.js // 模块级别任务脚本安装和使用 Hvigor 工具通过 NPM 包管理器安装 Node.js 运行所以在系统中需预先安装 Node.js 和 NPM 工具, -sSync the information in plugin for other platform. [boolean] --error, 本篇文章将介绍 Hvigor 的基本用法和配置, 工程级別 package.json { name : myapplication , directoryLevel : project }, -v Print the global and local vigor versions.[boolean] --cwdManually set the CWD. The search for the vigorfile。
dependencies : { } } 关于 OpenHarmony npm 包的相关字段说明如下其余字段遵循 package.json 标准规范, // 定义产品的名称由开发者自定义 signingConfig : debug , -wSet log level to warn.[boolean] --info, description : example description , -pDefine extra properties.[string] --mode, // 指定OpenHarmony应用/服务兼容的最低SDK版本 products : [ // 定义构建的产品品类如通用默认版、付费版、免费版等{ name : default , // API类型FA模型或者Stage模型 showInServiceCenter : true, description : example description 。
// 密钥别名信息 keyPassword : ****** , // 标明src目录相对工程根目录的相对路径 targets : [ // 定义构建的产物由product和各模块定义的targets共同定义{ name : default , // 是否在服务中心露出 buildOption : { arkEnable : true, npm install ohos/hvigor-ohos-plugin --saveHvigor 的使用 命令行指令结构 hvigor [taskName...] [--option-name] 详细参数 Usage: hvigor [options]Options: --version, // 密钥库signAlg参数 storeFile : D:\\SigningConfig\\debug_ohos.p12 // 密钥库文件格式为.p12}}], -eLog errors only.[boolean] --warn, Hvigor 结构化模型 Hvigor 工程主要以 build-profile.json5 与 hvigorfile.js 组成。
// 标识签名方案的名称 material : { // 该方案的签名材料 certpath : D:\\SigningConfig\\debug_ohos.cer 。
