鸿蒙开发 Hvigor 插件动态生成代码
踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-bokeyuan&ha_sourceId=89000444
Hvigor允许开发者实现自己的插件,开发者可以定义自己的构建逻辑,并与他人共享。Hvigor主要提供了两种方式来实现插件:基于hvigorfile脚本开发插件、基于typescript项目开发。下面以基于hvigorfile脚本开发插件进行介绍。
基于hvigorfile脚本开发
基于hvigorfile.ts脚本开发的方式,其优点是可实现快速开发,直接编辑工程或模块下hvigorfile.ts即可编写插件代码,不足之处是在多个项目中,无法方便的进行插件代码的复用和共享分发。
1、导入模块依赖。
2、编写插件代码。
在hvigorfile.ts中定义插件方法,实现HvigorPlugin接口。
3、在导出声明中使用插件。
使用hvigorfile插件动态生成navigation防混淆文件
我们在使用navigation的系统路由表时,每次添加新页面,都需要配置一下release环境防混淆。若将这些页面放在一个固定的目录下,则与我们的模块化设计相违背,若命名使用固定的前缀或后缀,总感觉有点多余,手动一个一个的添加,虽然符合我们的代码规范设计,但就是有点繁琐。有没有更方便的方式来处理这个混淆配置呢?
其实我们可以在写一个hvigorfilew插件来自动生成混淆配置文件。我们自定义一个HvigorPlugin任务,通过OhosHapContext对象读取module.json5文件中的routerMap字段,可以获取系统路由表的名称,再读取profile目录下的路由表。解析json文件内存,并将页面路径写到一个混淆文件中,这样每次编译时,自动生成防混淆文件,我们只需要引入这个文件就可以了。示例如下
编译后会在entry目录下生成obfuscation-router.txt防混淆文件,只要引入这个文件就可以了。
使用hvigorfile插件动态生成navigation页面枚举名称
我们在我们navigation的push跳转到新页面时,都得提前定义好系统路由表中的页面name,因为使用的name与系统路由表中定义的name不相同时,跳转页面则会白屏。有了前面的经验,其它我们也可以动态生成一个ets文件,将系统路由表中的页面名称自动生成一个枚举,这样就不用每次配置系统路由表,还是复制一下名称了。例如我们的系统路由表是这样的
我们现在实现一个hvigorfile插件,来解析系统路由表中的name字段,并生成对应的枚举值。示例如下
我们在ets目录下生成了一个Pages.ets文件,并将所有navigation页面生成对应的枚举值,页面跳转时,使用这些枚举值就不怕出错了。Pages.ets内容如下

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
10 分钟带你体验 Solon 的状态机
一、介绍 Solon 状态机,称为 Solon State Machine。它是一种可以管理状态、事件之间的关系,以及他们之间的转换。这是一个专门为应用程序中的状态管理和状态转换提供支持的框架。 它简化了事物对象在不同状态下,不同事件转化的代码管理,让其代码变得更加清晰明了。 本文将介绍 Solon State Machine 状态机在 Solon 框架下的使用,10分钟带你理解并上手使用 Solon 状态机 二、状态机的核心概念 首先,我们必须要了解 Solon 状态机的几个核心概念,如下 状态(State):代表着对象的当前状态 事件(Event):对象状态转变是因何而改变的 转换(Transition):定义了事物的状态是通过哪个事件变到了另一个状态 比如,最常见的就是订单系统,下面就简单模拟一下正常订单的状态流转: 用户下单(状态为:待支付) 用户支付成功(状态为:已支付待发货) 仓库已发货(状态为:已发货待收货) 用户成功收货(状态为:已收货) 三、代码 添加对应的 maven 依赖 <dependency> <groupId>org.noear...
- 下一篇
维基百科编辑总结识别 AI 写作的关键特征
近年来,人工智能技术的发展为我们带来了许多便利,但同时也引发了关于其生成文本的准确性和可信度的讨论。特别是在学术界,AI 生成的文字常常被视为一种捷径,但这种捷径的潜在问题不容忽视。维基百科作为一个以信任和人类可靠性为基础的平台,明确禁止 AI 撰写的文章,并在编辑之间整理出了一份清单,列出了能够揭示 AI 写作特征的语言 “迹象”。 AI 生成的文本在语气上往往显得夸张,常常通过重复的措辞来强调某一内容的重要性。例如,AI 可能使用 “重要” 或 “具有历史意义” 等词汇,这种表达方式通常较为生硬。此外,AI 生成的段落常以简洁的结论或观点结束,给人一种像高中作文的感觉,而非专业百科全书的写作风格。许多常见的连接词如 “此外”、“还有” 等,使得文本显得更正式,甚至有些僵硬,而人类编辑的文本通常会使用更自然的表达。 格式也是识别 AI 文本的重要线索。AI 生成的文章常常会出现过多的列表,有时还伴随不寻常的项目符号或编号方式。章节标题的书写也常采用标题大小写(每个主要单词都大写),而人类则更倾向于使用简单的样式。此外,AI 写作中粗体文本的过度使用来强调某些短语,也是人类编辑较少采用...
相关文章
文章评论
共有0条评论来说两句吧...