2

自升级到 Expo 34 以来,出现与 Expo/vector-icons 相关的以下错误。

fontFamily "FontAwesome" 不是系统字体,还没有通过 Font.loadAsync 加载。

  • 如果您打算使用系统字体,请确保您输入了正确的名称并且您的设备操作系统支持该名称。

  • 如果这是自定义字体,请务必使用 Font.loadAsync 加载它。

我尝试在 App.js 中手动加载字体

Font.loadAsync({FontAwesome: require("../node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome.ttf")})

但它没有效果。我已将 expo-font 更新为最新版本,清除了 node_modules 和 package-lock,并重建了项目。

有什么线索吗?

4

3 回答 3

4
  • 删除你的 package.json.lock
  • 删除您的 .expo
  • 执行 npm i
  • 运行您的应用程序

并从“@expo/vector-icon”导入*作为FontAwesome;

于 2019-11-19T09:19:33.587 回答
2

我将expo-font包更新为警告中显示的版本,它对我有用。

于 2020-12-23T11:00:29.527 回答
0

不是修复,而是一种解决方法,因为我遇到了同样的问题并且找不到解决方案。

尝试改变

import Font from 'expo-font';

import {Font} from 'expo';

编辑:看起来可能会解决我遇到的问题,尝试更新到 expo@34.0.3 和 expo-font@6.0.1

于 2019-08-15T04:04:32.203 回答