const { getDefaultConfig } = require('expo/metro-config'); const { withNativeWind } = require('nativewind/metro'); const path = require('path'); const config = getDefaultConfig(__dirname); // SVG 转换配置 config.transformer = { ...config.transformer, babelTransformerPath: require.resolve('react-native-svg-transformer'), }; config.resolver = { unstable_enableDynamicResolver: true, ...config.resolver, assetExts: config.resolver.assetExts.filter(ext => ext !== 'svg'), sourceExts: [...config.resolver.sourceExts, 'svg'], alias: { ...config.resolver?.alias, '@/': path.resolve(__dirname, './'), }, platforms: ['ios', 'android', 'native', 'web'], }; // Web 环境下的模块别名 if (process.env.EXPO_PLATFORM === 'web') { config.resolver.alias = { ...config.resolver.alias, 'expo-sqlite': path.resolve(__dirname, './lib/database/empty-sqlite.js'), }; } module.exports = withNativeWind(config, { input: './global.css' });