35 lines
986 B
JavaScript
35 lines
986 B
JavaScript
const { withNativeWind } = require('nativewind/metro');
|
|
const path = require('path');
|
|
const {
|
|
getSentryExpoConfig
|
|
} = require("@sentry/react-native/metro");
|
|
|
|
const config = getSentryExpoConfig(__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' }); |