HarmonyOS鸿蒙Next中ArkTS Compiler Error

HarmonyOS鸿蒙Next中ArkTS Compiler Error 为什么这里会编译报错?

cke_180.png


更多关于HarmonyOS鸿蒙Next中ArkTS Compiler Error的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

方案一:通过createModuleContext拿到module的Context对象再取资源文件。 以hap中读取hsp中的rawfile文件为例:

application.createModuleContext(this.context, 'hsp1')
  .then((data: common.Context) => {
    if(!data) {
      return;
    }
    data.resourceManager.getRawFileContentSync("text.txt")
  })
  .catch((err: BusinessError) => {
    console.error(`CreateModuleContext failed, err code:${err.code}, err msg: ${err.message}`);
  });

方案二:hsp中导出资源。

  1. 将需要对外提供的资源封装为一个资源管理类:
// library/src/main/ets/ResManager.ets
export class ResManager{
  static getPic(): Resource{
    return $r('app.media.pic');
  }
  static getDesc(): Resource{
    return $r('app.string.shared_desc');
  }
}
  1. index.ets中声明需对外暴露的接口:
// library/index.ets
export { ResManager } from './src/main/ets/ResManager';

更多关于HarmonyOS鸿蒙Next中ArkTS Compiler Error的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你这个取得是本地文件的颜色值吧,```json { “name”: “app_title_color”, “value”: “#FFFFFF” }

.fontColor($r('sys.color.app_title_color')),参考下,希望可以帮到你

图片

har包在自己的模块下为什么会找不到资源?检查好久,这是发现工程中多了HSP包后,就会报错(就是因为在工程模块下来定义依赖吗。有没有对包结构这块有深入了解,能升入讲解一下吗?

模块下的dependencies和工程下的dependencies的区别是什么?我怀疑我这个地方用的有问题?

$r(‘app.color.dust_grey’)是这样写的,

在HarmonyOS鸿蒙Next中,ArkTS Compiler Error通常是由于代码语法错误、类型不匹配或API使用不当引起的。建议检查代码中的拼写错误、确保类型正确,并参考官方文档确认API的使用方式。如果问题持续,可以尝试清理项目并重新编译,或查看编译器输出的详细错误信息以定位问题。

回到顶部