HarmonyOS鸿蒙Next中子文件夹下的module打出来的har无法使用

HarmonyOS鸿蒙Next中子文件夹下的module打出来的har无法使用

一般而言,module都是在项目一级目录(比如entry module),但如果一个module被放在了二级目录的文件夹中,那打出来的har就是不可用的,调用的地方import的时候会提示“Cannot find module ‘xxx’ or its corresponding type declarations."。打开har包会发现连代码都没打进去:

cke_3566.png

这是放在一级目录一样的代码和配置打出来的正确的har:

cke_18055.png

所以鸿蒙不支持module放在二级目录中吗?


更多关于HarmonyOS鸿蒙Next中子文件夹下的module打出来的har无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,子文件夹下的module生成的har文件无法使用,可能是由于模块路径配置不正确或构建脚本未正确处理子文件夹结构。确保在oh-package.json5中正确配置了模块路径,并在构建时检查子文件夹的路径引用。此外,确认build-profile.json5中的模块配置是否包含子文件夹路径。

更多关于HarmonyOS鸿蒙Next中子文件夹下的module打出来的har无法使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


根据描述,这确实是HarmonyOS Next当前的一个已知限制。在项目结构中,module必须直接放在项目根目录下才能正确生成可用的har包。当module位于子文件夹中时,构建系统无法正确识别和打包代码。

解决方法:

  1. 将module移动到项目根目录
  2. 检查oh-package.json5中的路径配置是否正确
  3. 确保module的build-profile.json5配置无误

这个问题与ArkTS编译器对模块路径的处理方式有关,建议暂时保持module在根目录结构。后续版本可能会优化对嵌套module的支持。

回到顶部