任务是Hvigor构建过程中的基本执行单元,通常包含一段可执行代码。一个任务可以依赖其他多个任务,Hvigor任务调度执行时通过解析依赖关系确定任务执行时序。

一、任务标识

UP-TO-DATE

标识 含义
UP-TO-DATE 任务未实际执行。Hvigor任务增量跳过机制,二次执行时检测任务输入输出条件未发生变化,则任务跳过执行提高构建效率

Finished

标识 含义
Finished 任务已执行完成

二、注册任务

1、 编辑hvigorfile.ts

在工程下hvigorfile.ts文件中编写自定义任务。

2、 代码示例

// 1. 导入模块
import { getNode, HvigorNode, HvigorTask } from '@ohos/hvigor';

// 2. 获取当前hvigorNode节点对象
const node: HvigorNode = getNode(__filename);

// 3. 注册Task
node.registerTask({
  name: 'customTask',
  run() {
    console.log('this is Task');
  }
});

三、执行任务

使用hvigor命令行工具执行任务:

hvigorw customTask

执行后控制台输出:

> hvigor Finished ::customTask... after 10 ms

四、其他

开发流程

导入模块(getNode, HvigorNode, HvigorTask)
    ↓
获取当前hvigorNode节点对象
    ↓
注册任务(name + run函数)
    ↓
命令行执行:hvigorw <taskName>

   Hvigor任务开发需在hvigorfile.ts中导入@ohos/hvigor,通过getNode(__filename)获取节点,调用registerTask注册任务(name和run函数),命令行使用hvigorw <taskName>执行,任务状态标识包括UP-TO-DATE(增量跳过)和Finished(执行完成)。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐