项目中引入两个 HAR : aaa.har 和 bbb.har
其中 bbb.har 中依赖 aaa:
"dependencies": {
"aaa": "file:../aaa"
}
当我尝试在 lib 文件下放入两个har并引用时,bbb.har 始终无法引入,因为他会一直查找那个不存在的 aaa,即使我先引入 aaa再引入 bbb也不行。
解决方案:
在根目录的oh-package.json5 中进行引入:
{
"modelVersion": "6.0.0",
"description": "Please describe the basic information.",
"dependencies": {
},
"dependencies": {
// 1. 根目录也声明一下这两个库,确保全局索引一致
"aaa": "file:./xxx/libs/aaa_2603091418.har",
"bbb": "file:./xxx/libs/bbb_2603091418.har"
},
"devDependencies": {
"@ohos/hypium": "1.0.24",
"@ohos/hamock": "1.0.0",
"@ohos/httpclient": "^2.0.5"
},
"overrides": {
/**
* 2. ✨ 最核心的一步:
* 强制拦截全工程(包括 x.har 内部)对 aaa 的请求,
* 将其重定向到你本地的这个具体的 .har 文件路径。
*/
"aaa": "file:./xxx/libs/aaa_2603091418.har"
}
}
cmd 进入子模块,运行:ohpm install
这样就可以正常调用了。
根目录 oh-package.json5 (负责"指路")
子模块 xxx/oh-package.json5 (负责"声明使用")