升级至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": [ "**/*" ] } }彻底清除全链路缓存
- 关闭Expo Go应用,长按图标选择「清除缓存」
- 执行命令清除项目缓存并重启:
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
相关产品推荐
相关产品推荐

