// Metro 配置:支持 import 本地 .svg 为 React 组件 // 说明:Expo SDK 54 + react-native-svg-transformer 的常见配置方式 const path = require('path'); const { getDefaultConfig } = require('expo/metro-config'); /** @type {import('expo/metro-config').MetroConfig} */ const config = getDefaultConfig(__dirname); config.transformer = { ...config.transformer, babelTransformerPath: require.resolve('react-native-svg-transformer'), }; config.resolver = { ...config.resolver, assetExts: config.resolver.assetExts.filter((ext) => ext !== 'svg'), sourceExts: [...config.resolver.sourceExts, 'svg'], // 确保 react-native-text-size 从项目 node_modules 解析(避免 Metro 解析不到) extraNodeModules: { 'react-native-text-size': path.resolve(__dirname, 'node_modules/react-native-text-size'), }, }; module.exports = config;