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

升级至Expo SDK 47后expo/vector-icons无法使用问题求助

解决Expo SDK 47升级后Font Awesome图标加载失败问题
  • 匹配依赖版本
    确保@expo/vector-icons和expo-font版本与SDK47兼容,执行命令安装适配版本:

    npm install @expo/vector-icons@^13.0.0 expo-font@^11.0.0 --save
    
  • 规范图标使用方式
    避免手动设置fontFamily: 'Font Awesome',直接使用@expo/vector-icons提供的组件:

    import FontAwesome from '@expo/vector-icons/FontAwesome';
    
    // 组件内调用示例
    <FontAwesome name="check-circle" size={24} color="#2ecc71" />
    

    若需手动加载字体,确保路径正确:

    import { useFonts } from 'expo-font';
    
    const [fontsLoaded] = useFonts({
      'FontAwesome': require('@expo/vector-icons/fonts/FontAwesome.ttf'),
    });
    
  • 配置资源打包规则
    在app.json或app.config.js中,确保字体文件被纳入资源打包范围:

    {
      "expo": {
        "assetBundlePatterns": [
          "**/*"
        ]
      }
    }
    
  • 彻底清除全链路缓存

    1. 关闭Expo Go应用,长按图标选择「清除缓存」
    2. 执行命令清除项目缓存并重启:
      npx expo start -c
      
  • 排查依赖冲突
    执行以下命令检查是否存在多版本依赖:

    npm ls @expo/vector-icons
    npm ls expo-font
    

    若有冲突,删除本地依赖文件后重新安装:

    rm -rf node_modules package-lock.json
    npm install
    
  • 简化Babel配置
    确保babel.config.js仅保留基础预设,避免插件干扰路径解析:

    module.exports = function(api) {
      api.cache(true);
      return {
        presets: ['babel-preset-expo'],
      };
    };
    

内容的提问来源于stack exchange,提问作者Diego Navarro Vergara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:15:42