启动React Native iOS应用时遇打包失败错误,请求排查解决
解决React Native iOS启动时expo-router的Bundling错误
错误原因
该错误源于node_modules/expo-router/_ctx.ios.tsx第6行对require.context的调用不符合规范:代码尝试用process.env.EXPO_ROUTER_IMPORT_MODE_IOS作为第四个参数,但require.context的第四个参数必须是指定模块解析方式的可选字符串(如"sync"、"eager"等),环境变量的注入或取值异常导致参数无效。
解决方案
- 清理并重装依赖
rm -rf node_modules && rm package-lock.json && npm install - 清除Metro缓存后重启服务
npx expo start --clear - 更新expo-router至最新兼容版本
npm install expo-router@latest - 临时手动修复(不推荐长期使用,更新依赖后会被覆盖)
找到node_modules/expo-router/_ctx.ios.tsx第6行,将process.env.EXPO_ROUTER_IMPORT_MODE_IOS替换为合法的mode参数,示例:// @ts-expect-error require.context('../app', true, /\.(tsx|ts|jsx|js)$/, "sync")
内容的提问来源于stack exchange,提问作者Siddhant Mishra
相关产品推荐
相关产品推荐

