鸿蒙开发:hvigorw,一个你不得不去了解的神器

前言

本文基于DevEco Studio 5.0.5 Release

可能有老铁一上来就会产生一个疑问,hvigorw,这是一个什么东西?好像也没什么用处啊,哎,可别那么说,hvigorw,可是无时无刻不在陪伴着你,少了它,可以这么说,鸿蒙开发就立马终结,就是这么重要。

这里首先做一个混淆解读,hvigorw作为Hvigor的wrapper包装工具,它的主要作用是,支持自动安装Hvigor构建工具和相关插件依赖,以及执行Hvigor构建命令,和我们项目中的hvigorfile.ts和hvigor-config.json5可不是一码事,千万不要弄混淆了。

hvigorfile.ts这个文件,在我们的根项目中,它是应用级或Module级的编译构建任务脚本,开发者可以自定义编译构建工具版本、控制构建行为的配置参数。

hvigor-config.json5文件则是在项目中的hvigor目录下:

它的主要作用是,指定当前工程的开发态构建工具版本号、构建任务和脚本的依赖版本等;指定构建工具的相关能力,包括日志级别、执行策略等;指定构建的运行时node的相关配置参数,以及其他传递给构建脚本的额外参数等。

一个是用于编译构建,一个是配置构建,所以大家要注意识别区别。

有的老铁就说了,hvigorw用处在哪,我怎么没见过?

hvigorw的用处可多了,我们是否有想过,当你点击了运行按钮,代码是如何运行到模拟器或手机上的?没错,就是通过hvigorw。

当我们点击运行时,可以在底部控制台中的Build选项中看到,hvigorw执行的任务。

当我们点击导航栏中的Clean Project:

发现,还是hvigorw在帮助我们执行清除项目。

可以发现hvigorw几乎是无处不在,在接下来的流水线打包,它的作用更是举足轻重,无可替代。

hvigorw环境配置

针对hvigorw使用,目前有两种方式,一种是使用DevEcoStudio sdk自带的,第二种是下载HarmonyOS 应用开发所用到的系列工具,Command Line Tools,目前两种都可以使用。

DevEcoStudio自带的hvigorw

如果使用DevEcoStudio自带的需要加上node一起使用,打开一个鸿蒙项目,打开底部的终端,使用node,然后加上hvigorw.js路径即可,比如我要查询当前的hvigorw版本,如下便可以获取,能够正确显示出hvigorw的版本,则证明是正确的。

有的同学可能会说,hvigorw.js路径在哪里呢?它在你DevEcoStudio安装的tools目录下,你也可以按照这种方式进行获取,当你执行运行项目或者清除项目缓存时,是不是在Build中有执行命令的记录,在第一行你就可以查看到hvigorw.js的路径,其实我们看到,系统也是这么执行的。

需要注意的是,如果你的node配置了环境变量,可以直接使用node,如果没有,还请仿照上图中系统的执行进行加上全路径。

以上呢,是我Mac电脑的命令执行,如果你是windows系统,需要把hvigorw.js的路径加上双引号。

Command Line Tools使用

Command Line Tools,它是集合了 HarmonyOS 应用开发所用到的系列工具,包含了很多的实用工具,比如SDK 管理 sdkmgr,代码检查 codelinter,三方库的包管理 ohpm,命令行解析 hstack,使用它需要单独去官网下载:

下载地址如下:

developer.huawei.com/consumer/cn...

选择对应的系统版本下载即可。

下载好之后,下一步就是环境配置,如果你是windows系统,在系统或者用户的PATH变量中,添加hvigorw的路径${COMMANDLINE_TOOL_DIR}/command-line-tools/bin,其中COMMANDLINE_TOOL_DIR是命令行工具的安装路径;Mac的话,打开终端工具,执行以下命令:

text 复制代码
export PATH=${COMMANDLINE_TOOL_DIR}/command-line-tools/bin:$PATH

环境配置好之后,切换到工程根目录,执行如下命令,如果能够查询Hvigor版本信息,确认安装成功。

text 复制代码
hvigorw -v

相关总结

本来打算继续介绍hvigorw的相关命令的,奈何篇幅有点太长了,我们放到下一篇文章中来概述吧,这篇文章,最主要的就是学会hvigorw的简单使用,能够正确的显示出版本号即可,至于两种用法,都可以使用,主要还是看大家自身需要。

本文标签:鸿蒙开发工具/DevEco Studio

相关推荐
KongHen2 分钟前
UTS编写字符串编解码/加密插件(安卓及鸿蒙端)
前端·harmonyos
做运维的阿瑞9 分钟前
鸿蒙6.0技术解析:五大行业迎来的智能化革命
人工智能·harmonyos
鸿蒙Jy10 分钟前
一篇文章带你理解什么是鸿蒙开发中V1&&V2装饰器
harmonyos
灯火不休➴27 分钟前
安卓 ContentProvider 详解:跨应用数据共享的核心方案
android
沐怡旸1 小时前
【底层机制】【Android】Android 系统的启动流程
android
王嘉俊9251 小时前
HarmonyOS 项目入门:构建跨设备智能应用的强大框架
华为·harmonyos
limuyang21 小时前
【http3/quic】cronet 已经原生集成在Android内啦!还不快来开开眼!
android·http·google
Francek Chen1 小时前
【HarmonyOS 6 特别发布】鸿蒙 6 正式登场:功能升级,构建跨设备安全流畅新生态
人工智能·华为·harmonyos·harmonyos 6
王嘉俊9251 小时前
HarmonyOS 分布式与 AI 集成:构建智能协同应用的进阶实践
人工智能·分布式·harmonyos
乌萨奇也要立志学C++2 小时前
【Linux】Ext系列文件系统 从磁盘结构到文件存储的原理剖析
android·linux·缓存·1024程序员节