前言本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828之前在《hvigor插件实现组件化运行》一文中,我们生成了一个文件,主要用于模块运行包和共享包之间切换的控制 当然了,还有很多的应用场景,比如,在构建前,针对代码规范进行检查,如果有不符合规范的地方,输出到一个错误文件中,或者,需要针对项目中的代码进行动态修改等等场景,hvigor插件开发中如何去实现呢? 这就是这篇文章要概述的内容,hvigor插件中的文件操作。 使用FileUtil之前,我们先导入模块,如下代码所示:import { FileUtil } from '@ohos/hvigor';主要方法概述1、判断文件路径是否存在使用exist方法来判断一个文件地址是否存在 项目开发的时候,可能会有报错,不过不要担心,集成到DevEco Studio中是可以正常执行的,不过在写的时候,大家可以在DevEco Studio中先验证,无问题后再复制到typescript项目中打插件包
前言本项目API>=13关于鸿蒙项目的组件化运行,已经分享了两种方式了,分别是IDE插件方式和node脚本方式,今天给大家带来第三种方式,Hvigor插件方式;和前两种方式不同的是,它的使用更加简单,不需要我们手动的去切换就能实现组件运行 hvigor插件依赖目前插件已经发布npm平台,版本号为1.1.8,大家可以按照如下方式进行依赖插件,在hvigor目录下的hvigor-config.json5中,找到dependencies,在里面追加 ,我们的插件就依赖完成了。 hvigor插件使用hvigor插件使用和前两种方式完全不一样,它自动会识别你目前要运行的模块,不用单独的再次切换,比如你要运行某个模块,直接在顶部选择之后,直接运行即可。 相关总结目前第一次运行的时候,会在根项目下生成一个harmonyComponent.json5文件,这个文件的主要目的,用于控制插件是否执行,默认为true,每次运行都会执行插件,false不执行插件内容
能力说明hvigor-ohos-plugin插件支持在hvigorfile.ts里插入使用者的自定义构建任务,并且在运行时获取到自定义的一些编译参数,以及实现修改产物属性的功能。 根据命令参数和hvigor-config.json5文件中的配置,设置hvigor的构建参数,并构造出hvigor对象,此对象贯穿整个hvigor生命周期,从最开始创建出来一直到此次构建结束才被销毁。 /hvigorw --sync -p key=hello,控制台打印:hello三、 修改打包产物属性hvigor-ohos-plugin插件支持在hvigorfile.ts里接收部分编译配置,以实现动态配置构建配置 ';import { hvigor, getNode } from '@ohos/hvigor'; hvigor.nodesEvaluated(() => { const node = getNode 首先在hvigorfile.ts文件中只需定义一个pluginId(任务Id)和name(任务名称),并实现其中的run方法,即可创建一个任务,然后当前node节点添加插件并执行插件的apply方法,然后调用接口
前言本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828上篇文章,我们针对鸿蒙开发中的模块,实现了单一模块运行,使用的是hvigor插件的形式,通过hvigor 插件,我们可以看到,它自动化执行了某些特定的任务,减少了我们的手动干预,确保了构建过程的一致可靠性,可以说,在实际的开发中,极大的提高了我们的开发效率,今天,我们这篇文章,就一起实现一个hvigor插件 目前有两种方式实现hvigor插件,一种是基于hvigorfile脚本,另一种是基于基于typescript项目;两者有着一定的区别,hvigorfile脚本形式,直接写到项目中即可,便于我们针对脚本的更改 第一步:导入接口import { HvigorPlugin, HvigorNode } from '@ohos/hvigor';第二步:实现自定义插件function myPlugin(): HvigorPlugin '); } }}第三步:使用插件export default { system: appTasks, /* Built-in plugin of Hvigor.
前言本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828上篇文章,我们介绍了两种方式,实现了一个hvigor插件的开发,但是只概述了基本的开发流程,并未涉及到具体的代码开发 ,接下来的几篇文章,我们会重点去了解一下,hvigor插件中的那些API用法,以便于实际的插件开发。 首先是HvigorNode,它是hvigor中的节点模型接口,通过它,我们可以获取到模块的配置,属性和任务等。还记得上篇文章中,我们的插件开发是在哪里编写代码的吗? myTask', run() { console.log('myTask'); }});7、节点中已注册的Task对象node.getTaskByName('myTask')8、 ,极大的提高了我们编写插件的效率。
为解决这些问题,本次更新引入了 Hvigor 插件,实现动态配置更新,并支持直接依赖插件源码进行构建,显著提升开发体验。 **添加 Hvigor 插件** 在 ohos/hvigorfile.ts 中添加 Hvigor 插件 flutterHvigorPlugin,代码如下: import path from 'path '; import { getNode, hvigor } from'@ohos/hvigor' const directory = '替换为 har 产物目录路径' const rootNode = **更新 hvigorfile.ts 文件** 将插件项目下的 hvigorfile.ts 改为: import { harTasks } from '@ohos/hvigor-ohos-plugin 总结 本次鸿蒙版 Flutter 优化 ohos 构建过程,通过引入 Hvigor 插件实现了动态配置更新,有效避免了配置文件频繁修改引发的提交冲突。
前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图 4 SWT编程须知 5 SWT简单控件的使用与布局搭配 6 SWT复杂空间与布局搭配 7 先描述下我遇到的问题吧: 由于对插件的了解也并不全面,很多知识点都不知道。 rgb = StringConverter.asRGB(colorName); 7 token = new Token(new TextAttribute(getColor(rgb))); 8 并且这个对象时在插件初次加载的start函数通过getPreferenceStore()进行初始化的。 那么就奇怪了,一样的代码过程,为什么源码可以查找到值,而我的却不行呢? 6 public class AbstractPreferenceInitializer1 extends 7 AbstractPreferenceInitializer { 8
下载完成后,从本地安装IDE插件 确保插件版本与IDE版本兼容 插件安装界面 重启IDE 安装成功后需要重启IDE以确保插件生效 重启后可以在新建项目时看到仓颉相关模板 创建仓颉项目 步骤一:新建项目 build/default/outputs/default/entry-default-unsigned.hap "data/local/tmp/e4f5714c783d4fb99b4ab804bca7d8a3 " in 344 ms 08:19:51.705: $ hdc shell bm install -p data/local/tmp/e4f5714c783d4fb99b4ab804bca7d8a3 in Open signing configs 08:19:51.752: $ hdc shell rm -rf data/local/tmp/e4f5714c783d4fb99b4ab804bca7d8a3 :用于存放当前工程使用的hvigor cangjie-build-support-x.y.z-cj.x.tgz:仓颉指定的hvigor任务包 hvigor-config.json5:指定工程全局使用的hvigor
实现路由表生成插件新建插件目录etsPlugin,建议创建在HarmonyOS工程目录之外mkdir etsPlugincd etsPlugin创建npm项目npm init安装依赖npm i --save-dev @types/node @ohos/hvigor @ohos/hvigor-ohos-pluginnpm i typescript handlebars初始化typescript配置. 在应用中使用修改项目的hvigor/hvigor-config.json文件,导入路由表插件{ "hvigorVersion": "4.2.0", "dependencies": { "@ohos /hvigor-ohos-plugin": "4.2.0", "@app/ets-generator" : "file:../.. ),加载插件import { harTasks } from '@ohos/hvigor-ohos-plugin';import {PluginConfig,etsGeneratorPlugin} from
解决 Flutter for OpenHarmony 构建失败:HVigor ERROR 00303168 (SDK component missing) 在使用 Flutter 开发 OpenHarmony SDK 路径未识别:Flutter for OpenHarmony 依赖特定的 OpenHarmony SDK(Hvigor/ArkUI),构建工具无法在当前环境中找到这些必要的组件。 Devapp 1.进行虚拟机的安装 2.修改路径 3.进行安装虚拟机 4.按照图上的操作 5.点击确认下载镜像 6.自定义即可 7.打开项目文件运行虚拟机 8. 成功页面 ✅ 四、 总结 遇到 HVigor ERROR 00303168 时,核心思路是**“指路”**。 构建工具(Hvigor)迷路了,你需要通过 local.properties 或环境变量明确告诉它 OpenHarmony SDK 在哪里。
app.json5│ └── resources│ ├── base│ └── rawfile├── build-profile.json5├── dependencies│ ├── hvigor -4.1.1.tgz│ ├── hvigor-ohos-arkui-x-plugin-3.1.0.tgz│ └── hvigor-ohos-plugin-4.1.1.tgz├── entry│ ── build-profile.json5│ ├── consumer-rules.txt│ ├── hvigorfile.ts│ ├── libs│ │ └── arm64-v8a │ └── hvigor-config.json5├── hvigorfile.ts├── local.properties├── oh-package.json5├── package-lock.json └── package.json参考资料撰写双端平台代码(插件编写实现)鸿蒙Flutter功能开发鸿蒙add-to-app示例如何使用混合开发 module
@satis/oh-router简介@satis/oh-router 与 hvigor插件 @satis-sun/modularity-plugin 配合使用,无需手动配置系统路由表,使用注解的方式即可完成系统路由表的配置 下载安装ohpm install @satis/oh-router推荐使用 @satis-sun/modularity-plugin 插件,该插件会自动配置模块依赖 @satis/oh-router、@ satis/common_router无需手动安装配置 工程目录下的 hvigor/hvigor-config.json5{ "modelVersion": "5.0.0", "dependencies modularity-plugin": "^1.0.4" }, ... }配置工程目录下 hvigorfile.tsimport { appTasks } from '@ohos/hvigor-ohos-plugin
hvigor 5.5.1 编译构建工具DevEco Hvigor(以下简称Hvigor),适用于API 10及以上的工程。 ohpm 5.0.6 OpenHarmony三方库的包管理工具。 hvigorw 5.5.1 编译构建工具DevEco Hvigor(以下简称Hvigor),适用于API 10及以上的工程。 ohpm 5.0.6 OpenHarmony三方库的包管理工具。 hvigor-config.json5中properties下新增hvigor.keepDependency字段,用于指定是否保持hsp模块的所有依赖。。 本地单元测试新增支持mock能力。 变更特性 DevEco Studio下架Intelligent Coding Assistant插件。 在进行native调试时,开发者可以同时设置数据断点的最大数量由4个变为2个。
幸运的是,您可以添加大量免费的高级WooCommerce付款网关插件,为客户提供新的结帐选项。 无论您是要添加Stripe,Amazon Pay还是加密货币,都有一个插件供您选择。 希望您在下面找到适合您的客户的WooCommerce付款网关插件! 对于同时还维护实体店面的WooCommerce商店所有者而言,此插件是一个不错的选择。特别是因为该插件允许您在在线WooCommerce商店和Square POS之间同步库存。 使用此免费插件,您可以在网站上使用PayPal的功能。此插件可让您在美国和加拿大免费收取客户月付款。它促进了无缝的PayPal集成,并且内置的欺诈过滤器有助于保护您的在线商店免受骗子的侵害。 该插件甚至包括一个内置的令牌系统,因此客户可以保存其付款信息。另外,插件开发人员还可以为每月销售额至少1000美元的任何商店提供一个免费的PayPal Payment Pro帐户。
Comments Highlighter 这个插件可以为注释上色,让我们的注释不再那么沉闷。 尤其是我们想在注释中给出非常重要的信息时,这个插件就更有用了。 ? 4. Return Highlighter 这个插件会在返回语句那行进行标记,这在我们阅读外部源码时比较有用。 ? 5. Key Promoter X 每次你点击 IntelliJ 的按钮时,这个插件就会弹出快捷键的提示,可以帮助我们更快的掌握快捷键。 ? 6. Atom Material Icons 这个插件没有什么特殊的功能,但丰富了 IntelliJ 图标。 ? 7. Code With Me 这也是 IntelliJ 的官方插件,允许他人操作自己的项目,适用于协同工作场景。 ? 8.
全程基于 GitCode 开源社区的稳定示例项目,聚焦“插件缺失”“版本不兼容”等高频问题,提供标准化解决方案,助力开发者一次性跑通全流程! 找不到”报错 首次用 DevEco Studio 打开项目时,极易出现以下报错: Cannot find module 'flutter-hvigor-plugin' 这是因鸿蒙 Flutter 适配插件未自动安装导致 /flutter/bin/flutter pub get),避免调用系统默认的普通 Flutter SDK; 命令执行成功后,将自动完成 flutter-hvigor-plugin 插件安装、Dart 依赖下载、鸿蒙与 Flutter 桥接文件生成,ohos/hvigorconfig.ts 可正常识别插件。 八、高频问题解决方案汇总 遇到的问题 具体解决方案 Cannot find module 'flutter-hvigor-plugin' 进入项目根目录,执行 flutter pub get 安装插件
设置为 9 或更大的值 ; 这里需要同时将 compileSdkVersion 和 compatibleSdkVersion 版本号都改为 8 ; "compileSdkVersion": 8, "compatibleSdkVersion": 8, 此时 点击 Sync Now 进行同步 , 会报如下错误 ; Cause: 1.The @ohos/hvigor version () @ohos/hvigor-ohos-plugin version () 不在预期的 3.x.x (3.x.x >= 3.0.9) 范围内 ; 解决方法:将 @ohos/hvigor 的值改为 3.0.9 并且 将 @ohos/hvigor-ohos-plugin 的值改为3.0.9 , 同时更新与 hvigor 匹配的命令行脚本hvigor-wrapper.js , 该脚本将自动安装相应版本的工具 , 版本号为 API 8 , 然后点击 Finish 完成创建 ;
插件形式进行组件化,奈何时间过去已久,之前的方式已不在通用,因为新的API更新迭代太快了,不知不觉API19已经到来,今年以来,已经更新了6个版本了,官方的速度如火箭一般,实现追不上啊! 因为Api发生了变化,新的IDE中,创建的项目结构,也潜移默化的发生了变化,那么之前开发的插件也好,脚本也好,也是无法继续使用的,没办法,只能改造升级了。 system: hapTasks, /* Built-in plugin of Hvigor. , /* Built-in plugin of Hvigor. 手动只是让大家了解切换的原理,在实际开发中,可不推荐手动,下篇文章,我们将通过脚本或者插件,快速实现组件化模块之间的切换,实现独立运行,敬请期待!本文标签:鸿蒙新闻资讯类应用
查看最新版本TheRouter 的版本分为两种,稳定版和 rc版,一般不追求新功能我们就用稳定版就行,可以在官网看到最新的版本号和各种版本的说明:请访问官网接入在工程根目录命令行引入依赖库和插件库(必须全部依赖 // 引入代码库依赖ohpm i @hll/therouter // 引入插件依赖npm i therouter-plugin第一步:接入编译插件打开项目根目录的 hvigor/hvigor-config.json5 获取页面传参接收有两种形式: 通过注解自动接收,默认支持 String 和8种基本数据类型,也支持自定义对象的解析通过代码从路由中获取使用注解接收对象时,必须调用 TheRouter.inject(this // 第一种:使用注解自动填充 // 允许解析成8种基本数据类型或对应封装类 @Autowired() key1 : string = '' // 允许自定义传参key,如果不传默认是变量名作为
前段时间遇到一个plupload上传插件问题,在其他浏览器上面运行很正常,但是就是在IE8上面第一次点击上传按钮无反应,后面再连续点击才ok。