鸿蒙开发:了解构建工具hvigorw

简介: hvigorw作为Hvigor的wrapper包装工具,它的主要作用是,支持自动安装Hvigor构建工具和相关插件依赖,以及执行Hvigor构建命令

前言


本文基于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,使用它需要单独去官网下载:


下载地址如下:


https://developer.huawei.com/consumer/cn/download/command-line-tools-for-hmos


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



下载好之后,下一步就是环境配置,如果你是windows系统,在系统或者用户的PATH变量中,添加hvigorw的路径

${COMMANDLINE_TOOL_DIR}/command-line-tools/bin,其中COMMANDLINE_TOOL_DIR是命令行工具的安装路径;Mac的话,打开终端工具,执行以下命令:


export PATH=${COMMANDLINE_TOOL_DIR}/command-line-tools/bin:$PATH


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


hvigorw -v


相关总结


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


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


相关文章
|
21天前
|
缓存 JavaScript IDE
鸿蒙开发:基于最新API,如何实现组件化运行
手动只是让大家了解切换的原理,在实际开发中,可不推荐手动,下篇文章,我们将通过脚本或者插件,快速实现组件化模块之间的切换,实现独立运行,敬请期待!
鸿蒙开发:基于最新API,如何实现组件化运行
|
27天前
|
开发者
鸿蒙开发:资讯项目实战之项目初始化搭建
目前来说,我们的资讯项目只是往前迈了很小的一步,仅仅实现了项目创建,步虽小,但概念性的知识很多,这也是这个项目的初衷,让大家不仅仅可以掌握日常的技术开发,也能让大家理解实际的项目开发知识。
鸿蒙开发:资讯项目实战之项目初始化搭建
|
27天前
|
存储 C++ UED
鸿蒙5开发宝藏案例分享---优化应用包体积大小问题
本文分享了鸿蒙应用包体积优化的实用技巧,包括SO库压缩、HSP动态共享包、OHPM依赖冲突解决、按需加载和扫描工具定位优化点等方法。通过具体配置示例和实战经验,如启用`compressNativeLibs`、使用共享资源包、强制统一依赖版本以及动态导入功能模块,帮助开发者显著减少包体积,提升用户体验。文中还提供了图标优化、资源混淆和无用代码剔除等补充建议,助力打造更轻量的鸿蒙应用。
|
27天前
|
SQL 弹性计算 数据库
鸿蒙5开发宝藏案例分享---优化应用时延问题
鸿蒙性能优化指南来了!从UI渲染到数据库操作,6大实战案例助你提升应用流畅度。布局层级优化、数据加载并发、数据库查询提速、相机资源延迟释放、手势识别灵敏调整及转场动画精调,全面覆盖性能痛点。附赠性能自检清单,帮助开发者高效定位问题,让应用运行如飞!来自华为官方文档的精华内容,建议收藏并反复研读,共同探讨更多优化技巧。
|
27天前
|
缓存
鸿蒙5开发宝藏案例分享---Swiper组件性能优化实战
本文分享了鸿蒙系统中Swiper组件的性能优化技巧,包括:1) 使用`LazyForEach`替代`ForEach`实现懒加载,显著降低内存占用;2) 通过`cachedCount`精准控制缓存数量,平衡流畅度与内存消耗;3) 利用`onAnimationStart`在抛滑时提前加载资源,提升构建效率;4) 添加`@Reusable`装饰器复用组件实例,减少创建开销。实际应用后,图库页帧率从45fps提升至58fps,效果显著。适合处理复杂列表或轮播场景,欢迎交流经验!
|
27天前
|
数据挖掘 开发者 索引
鸿蒙5开发宝藏案例分享---Grid性能优化案例
本文深入探讨了鸿蒙系统中Grid组件性能优化的实战技巧,针对Grid加载慢、滚动卡顿的问题,提出用GridLayoutOptions替代columnStart/columnEnd的方法。通过预定义不规则项索引,将位置计算复杂度从O(n)降至O(1),大幅提升性能(如scrollToIndex耗时从447ms降至12ms)。文章结合代码示例与Profiler数据分析,总结最佳实践,帮助开发者优化应用流畅度。
|
缓存 开发者 容器
鸿蒙5开发宝藏案例分享---瀑布流优化实战分享
本文基于鸿蒙官方瀑布流优化案例,分享了瀑布流性能优化的实战经验。分析了导致卡顿的三大原因:一次性渲染、动态高度与组件重建,并提供了四大优化方案——懒加载+缓存池、组件复用、动态预加载及固定高度计算。通过实测对比,优化后内存占用降低至98MB,滑动FPS提升至60帧。最后总结避坑指南,帮助开发者解决图片加载、布局嵌套和视频处理等常见问题,实现流畅体验。
|
27天前
|
缓存 JavaScript 开发者
鸿蒙5开发宝藏案例分享---长列表性能优化解析
鸿蒙长列表性能优化全揭秘!通过五大实战技巧(LazyForEach懒加载、cachedCount缓存、Prefetcher动态预加载、@Reusable组件复用及布局优化),有效解决卡顿、白块和高内存问题。万条数据测试显示,首屏加载提速77%,滑动零丢帧,内存占用降低86%。针对不同数据量场景提供避坑指南,助你开发流畅的HarmonyOS应用!
|
27天前
|
缓存 编解码 UED
鸿蒙5开发宝藏案例分享---冷启动优化案例分享
本文揭秘鸿蒙应用冷启动优化技巧,基于官方文档实战案例,助你效率翻倍!冷启动指应用从无进程状态新建,超1100ms易卡顿。文中拆解冷启动全流程为5阶段,并分享6大优化方案:异步处理耗时任务、启动图标分辨率优化、按需导入模块、网络请求前置、避免嵌套导出及首页数据缓存。同时提供避坑指南与总结,强调异步优先、延迟加载和本地缓存三大法则,优化后冷启动速度提升300%以上。附详细代码解析,助力性能优化!
|
27天前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!