Flutter中pubspec.yaml嵌套结构图片资源配置异常问题
解决嵌套目录图片资源的pubspec.yaml配置问题
方法1:逐个指定嵌套子目录
在pubspec.yaml的assets节点下,添加每个嵌套子目录的路径:
assets: - images/main/ - images/sub/
方法2:用通配符递归加载所有子目录(Flutter 2.0及以上版本支持)
如果嵌套层级较多,不想逐个编写目录路径,可以使用**通配符匹配目标目录下所有子目录及文件:
assets: - images/**
注意事项
- 配置完成后必须重启应用,热重载无法更新asset bundle的资源配置
- 严格遵守YAML的缩进规则,通常使用2个空格缩进,避免因格式错误导致配置失效
- 加载图片时,要使用完整的相对路径,例如
AssetImage('images/main/logo1.png')
错误原因说明
原配置- images/仅会加载images/目录下直接存放的文件,不会递归读取子目录内的资源。当调整为嵌套目录结构后,子目录中的图片未被打包到asset bundle中,因此加载时会抛出资源找不到的错误。
内容的提问来源于stack exchange,提问作者SugiuraY
相关产品推荐
相关产品推荐

