鸿蒙开发: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

相关推荐
Yusei_052343 分钟前
C++ 模版复习
android·java·c++
键盘敲没电1 小时前
【iOS】多线程基础
学习·macos·ios·objective-c·cocoa
WLY2902 小时前
HarmonyOS 5 ------访问权限控制
harmonyos
fei_sun2 小时前
【Harmony OS】数据存储
harmonyos
鸿蒙自习室2 小时前
鸿蒙UI开发——组件的自适应拉伸
ui·华为·harmonyos·鸿蒙
WLY2902 小时前
HarmonyOS5---封装 日志 工具
harmonyos
puffysang332 小时前
Android 编译FFmpeg4.3.1并集成x264
android
whysqwhw2 小时前
Transcoder代码学习
android
雨白2 小时前
详解 RecyclerView:从基础到布局与点击事件
android
lucky志2 小时前
探秘鸿蒙 HarmonyOS NEXT:一起了解鸿蒙的 AI 编程助手——CodeGenie!
harmonyos·arkts