Flutter如何通过单条配置访问assets下所有嵌套文件夹内的资源?
Flutter assets目录批量嵌套资源配置方案
核心配置方法
Flutter原生支持通过配置父级目录批量包含所有嵌套子目录的资源,不需要逐个声明子文件夹路径,只需在pubspec.yaml的flutter.assets节点下配置目标父目录路径,路径结尾必须加斜杠/,即可自动递归包含该目录下所有层级的资源,且完全保留原有目录结构。
配置示例(要包含整个assets目录下所有资源):
flutter: assets: - assets/
如果仅需要包含assets/map/目录下的所有资源,单独配置该目录即可:
flutter: assets: - assets/map/
资源访问方式
配置完成后,你可以直接按照原有目录结构访问任意层级的资源,完全符合你期望的使用方式,比如瓦片图的访问路径可以直接写:assets/map/anholt_osmbright/${z}/${x}/${y}.png
注意事项
- 目录配置结尾必须带斜杠
/,否则Flutter会将该路径识别为单个文件,不会递归拉取子目录资源 - 已配置父目录的情况下,无需重复配置子目录,不会提升加载效率只会产生冗余配置
- 如果不需要包含assets下的所有目录,按需配置需要用到的上层目录即可,避免打包不必要的资源增加包体积
内容的提问来源于stack exchange,提问作者Kürşat Şayhan
相关产品推荐
相关产品推荐

