HarmonyOS鸿蒙Next新手程序员关于资源路径的疑惑
HarmonyOS鸿蒙Next新手程序员关于资源路径的疑惑 我的测试项目在使用image进行路径选择的时候,选择了相对路径的写法:
img文件夹在src根目录下
Image(`img/Test_img/Ruiwen_test_img/Ruiwen_test_img_question/Ruiwen_test_question_${[this.NowId]}.png`)
该代码在预览器运行的时候可以执行,但在我使用真机模拟的时候却无法显示图片。使用通过使用资源加载符"$r(“app.media.???”)"的文件才能出现。
官方目录这么写的:

我询问ai猜测可能是项目版本的问题,我的项目使用的是5.1.1(19),因为怕用最新版本有更多bug。
问题来了,我在media下试图新建文件夹对文件归类,但编译环境会报错;可我的项目内有极多图片想要使用本地资源加载,总不可能全部放在media或base目录下面吧?
更多关于HarmonyOS鸿蒙Next新手程序员关于资源路径的疑惑的实战教程也可以访问 https://www.itying.com/category-93-b0.html
还是我自己找人解决了:
"copyCodeResource": {
"enable": true
}
该字段中将enable字段修改为true即可
更多关于HarmonyOS鸿蒙Next新手程序员关于资源路径的疑惑的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
copyCodeResource 是否将src/main/ets目录下的资源文件(.ets/.ts/.js以外的其他文件)打包到产物中。
从DevEco Studio 6.0.0 Beta2版本开始,新建工程或模块时,默认配置enable字段并且值为false,即默认不打包ets目录下的资源文件。
好的开发者,后续有任何问题欢迎您随时提问~
您好,目前建议使用6.0.0 API20及以上进行开发,
您好,我已经试着在项目结构里的兼容SDK版本设置切换了版本到6.0.1,但没有改变
HarmonyOS的分布式文件系统让我在多设备间共享文件变得更加方便。
需要下载最新正式版DevEco Studio配套使用开发
在HarmonyOS Next中,应用资源的访问必须遵循资源管理规范。预览器允许相对路径是一种开发便利,但真机运行时不支持以 img/... 方式直接访问本地文件,因为这些文件并未按照资源规则打包进应用。
正确做法:
- 资源统一放入
resources/rawfile目录,rawfile 支持任意子文件夹,正是你需要的归类方案。 - 访问时使用全局方法
$rawfile('子目录/文件名.png'):
Image($rawfile(`img/Test_img/Ruiwen_test_img/Ruiwen_test_img_question/Ruiwen_test_question_${this.NowId}.png`))
media目录确实不允许嵌套子文件夹,适合无需分类的小量资源;大量图片归类请使用rawfile。
注意:
$r("app.media.xxx") 对应 media 目录下的文件,而 $rawfile 用于 rawfile 目录下的文件。两者不可混用,且 rawfile 下的文件打包后会保持原始路径和文件名,支持动态拼接。


