You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter配置字体报Unexpected key assets under font错误

报错原因

这个错误是pubspec.yaml的YAML缩进不符合规范导致的。YAML是强缩进敏感的配置格式,你写的OpenSans字体配置没有做正确的层级缩进,和你自己写的Quicksand参考配置对比就能发现差异:Flutter解析配置时,没有识别到OpenSans配置下的fonts子节点,把本该属于字体条目下的asset字段判定为font节点下的非法assets键,直接抛出解析错误。
你写的错误OpenSans配置存在三个缩进问题:

  • family: OpenSans条目下的fonts:字段没有缩进2个空格,和family字段处于同一层级,没有归属到OpenSans字体族的配置项下
  • 每个- asset:字体文件条目没有在fonts节点下再缩进2个空格,没有被识别为fonts下的子项
  • Bold字体对应的weight: 700字段没有和对应的asset条目保持同层级缩进,配置结构完全错乱
修复方案

把OpenSans的配置按照Quicksand的缩进规则(统一用2个空格做层级缩进,禁止用Tab)改写即可,修复后的完整字体配置如下:

fonts:
  - family: OpenSans
    fonts:
      - asset: assets/fonts/OpenSans-Bold.ttf
        weight: 700
      - asset: assets/fonts/OpenSans-Regular.ttf
  - family: Quicksand
    fonts:  
      - asset: assets/fonts/Quicksand-Bold.ttf
        weight: 700
      - asset: assets/fonts/Quicksand-Regular.ttf

配置修改完成后,执行flutter pub get刷新项目配置,完全重启App即可验证字体是否正常加载,不要用热重载加载pubspec配置改动。

内容的提问来源于stack exchange,提问作者Dead Eye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 09:18:19