参考1:https://gitee.com/hadss/hmrouter/blob/master/HMRouterLibrary/README.md
参考2:https://ohpm.openharmony.cn/#/cn/detail/@hadss%2Fhmrouter
配置流程:
一、下载安装
使用ohpm安装依赖
ohpm install @hadss/hmrouter
注意:这里你安装的版本号,和后面在hvigor/hvigor-config.json中配置的版本号一定要一致,否则盲目的根据官方会出现白屏,因为版本不一致
二、使用配置
编译插件配置
1.修改工程的hvigor/hvigor-config.json文件,加入路由编译插件
{
"dependencies": {
"@hadss/hmrouter-plugin": "^1.2.0-rc.0"
// 使用npm仓版本号
},
// ...其他配置
}
2.在使用到HMRouter的模块中引入路由编译插件,修改hvigorfile.ts
示例:
// ./hvigorfile.ts 工程根目录的hvigorfile.ts
import { appTasks } from '@ohos/hvigor-ohos-plugin';
export default {
system: appTasks,
plugins:[]
}
// entry/hvigorfile.ts entry模块的hvigorfile.ts
import { hapTasks } from '@ohos/hvigor-ohos-plugin';
import { hapPlugin } from '@hadss/hmrouter-plugin';
export default {
system: hapTasks,
plugins: [hapPlugin()] // 使用HMRouter标签的模块均需要配置,与模块类型保持一致
}
// libHar/hvigorfile.ts libHar模块的hvigorfile.ts
import { harTasks } from '@ohos/hvigor-ohos-plugin';
import { harPlugin } from '@hadss/hmrouter-plugin';
export default {
system: harTasks,
plugins:[harPlugin()] // 使用HMRouter标签的模块均需要配置,与模块类型保持一致
}
// libHsp/hvigorfile.ts libHsp模块的hvigorfile.ts
import { hspTasks } from '@ohos/hvigor-ohos-plugin';
import { hspPlugin } from '@hadss/hmrouter-plugin';
export default {
system: hspTasks,
plugins: [hspPlugin()] // 使用HMRouter标签的模块均需要配置,与模块类型保持一致
}
如果模块是Har则使用
harPlugin(), 模块是Hsp则使用hspPlugin(), 模块是Hap则使用hapPlugin()
3.在项目根目录创建路由编译插件配置文件hmrouter_config.json(可选)
{
// 如果不配置则扫描src/main/ets目录,对代码进行全量扫描,如果配置则数组不能为空,建议配置指定目录可缩短编译耗时
"scanDir": [
"src/main/ets/components",
"src/main/ets/interceptors"
],
// 默认为false,调试排除错误时可以改成true,不删除编译产物
"saveGeneratedFile": false,
// 默认为false,不自动配置混淆规则,只会生成hmrouter_obfuscation_rules.txt文件帮助开发者配置混淆文件;如果设置为true,会自动配置混淆规则,并删除hmrouter_obfuscation_rules.txt文件
"autoObfuscation": false,
// 默认模板文件,不配置时使用插件内置模板
"defaultPageTemplate": "./templates/defaultTemplate.ejs",
// 特殊页面模版文件,匹配原则支持文件通配符
"customPageTemplate": [
{
"srcPath": [
"**/component/Home/**/*.ets"
],
"templatePath": "templates/home_shopping_template.ejs"
},
{
"srcPath": [
"**/live/**/*.ets"
],
"templatePath": "templates/live_template.ejs"
}
]
}
配置文件读取规则为 模块 > 工程 > 默认
优先使用本模块内的配置,如果没有配置,则使用工程目录中的配置,若找不到则使用默认配置
工程配置
由于拦截器、生命周期和自定义转场动画会在运行时动态创建实例,因此需要进行如下配置,使得HMRouter路由框架可以动态导入项目中的模块
1.在工程目录下的build-profile.json5中,配置useNormalizedOHMUrl属性为true
{
"app": {
"products": [
{
"name": "default",
"signingConfig": "default",
"compatibleSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS


1614

被折叠的 条评论
为什么被折叠?



