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

相关推荐
xiangpanf5 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
robotx8 小时前
安卓线程相关
android
RickeyBoy9 小时前
独立 App 配置阿里云 CDN 记录
ios
消失的旧时光-19439 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon10 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon10 小时前
VSYNC 信号完整流程2
android
dalancon10 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
不爱吃糖的程序媛11 小时前
OpenHarmony 工程结构剖析
harmonyos
白玉cfc11 小时前
接口与API设计
ios·objective-c
用户693717500138411 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能