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

Flutter组件包自定义字体在主Web应用中无法识别求助

Flutter组件包自定义字体在主Web应用中失效问题

项目结构

app/
widgets/
  • app:主Flutter Web应用
  • widgets:可复用Flutter组件包,供app及其他项目调用

问题表现

在widgets组件内使用自定义字体,运行app时组件标题无法显示,字体未被识别。

当前已做配置

  1. 字体文件放置路径:widgets/assets/fonts
  2. widgets/pubspec.yaml字体配置:
flutter:
  fonts:
    - family: <FONT_NAME>
      fonts:
        - asset: assets/fonts/<FILE>
          weight: 400
  1. 组件内字体使用代码:
final style = TextStyle(fontFamily: <FONT_NAME>, fontWeight: FontWeight.w600, ontSize: 48, height: 48);

注:未在app/pubspec.yaml中单独导入该字体

需要补充/修正的配置

  • 字重不匹配:配置里仅声明了weight:400的字体文件,但代码中使用了FontWeight.w600。如果你的字体文件没有对应w600的字重,要么补充该字重的字体文件并在pubspec.yaml中添加配置项,要么把代码中的fontWeight改为w400。
  • 代码笔误修正:代码里的ontSize是拼写错误,需改为fontSize,否则样式无法正常生效。
  • 主应用资源关联:Flutter组件包的字体资源需要主应用确认加载。确保app/pubspec.yaml已正确依赖widgets包,执行flutter pub get后,重启应用并执行flutter clean清理缓存。对于Web项目,可在app/web/index.html中添加字体预加载标签提升可靠性:
<link rel="preload" href="packages/widgets/assets/fonts/<FILE>" as="font" type="font/ttf" crossorigin>
  • 路径校验:确认widgets/pubspec.yaml中asset路径与实际文件路径完全一致(包括文件名大小写),避免因路径错误导致资源无法加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:35:27