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

Expo&Tamagui开发导入图片,遇@react-native/assets-registry/registry解析错误

解决Expo + Tamagui项目本地图片导入错误

问题原因

出现Unable to resolve "@react-native/assets-registry/registry"错误,核心是Metro未配置Tamagui所需的资产处理规则,导致图片解析时找不到对应注册表模块。

解决方案

1. 安装Tamagui Metro插件

Tamagui需要专属插件处理资产,先安装依赖:

npm install @tamagui/metro-plugin --save-dev

2. 更新Metro配置

修改metro.config.js,引入Tamagui插件并调整配置:

const { getDefaultConfig } = require('expo/metro-config');
const { withTamagui } = require('@tamagui/metro-plugin');

const config = getDefaultConfig(__dirname);

module.exports = withTamagui(config, {
  components: ['tamagui'],
  config: './tamagui.config.ts',
  outputCSS: './tamagui-web.css',
});

注意:项目根目录需存在tamagui.config.ts(或.js)配置文件,若没有可运行npx tamagui init生成。

3. 调整图片导入方式

改用ES模块导入替代require,适配Expo资产处理规范:

import { View, Image } from 'tamagui';
import logoImg from '../assets/image.png';

export default function Page() {
  return (
    <View>
      <Image source={logoImg} />
    </View>
  )
}

4. 清除缓存重启项目

执行命令清除Metro缓存后重启,确保配置生效:

npx expo start --clear

额外检查

  • 确认图片路径正确,../assets/image.png指向项目中真实存在的文件
  • 确保expo、tamagui、expo-router版本相互兼容,避免版本冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 08:31:00