Expo项目无法解析./src/aws-exports模块的构建问题求助
Expo构建错误:无法解析./src/aws-exports模块
问题详情
构建Expo项目时触发模块解析错误,目标文件./src/aws-exports实际存在,但构建工具提示找不到该模块,错误日志如下:
Error: Unable to resolve module ./src/aws-exports from /private/var/folders/.../App.js:
None of these files exist:src/aws-exports(.native|.android.jsx|.native.jsx|.jsx|.android.js|.native.js|.js|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.cjs|.native.cjs|.cjs|.android.json|.native.json|.json)
src/aws-exports/index(.native|.android.jsx|.native.jsx|.jsx|.android.js|.native.js|.js|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.cjs|.native.cjs|.cjs|.android.json|.native.json|.json)
已尝试在.easignore中添加以下规则,但问题未解决:
dist/ node_modules/ #aws-exports.js awsconfiguration.json amplifyconfiguration.json
可行解决方案
- 校验文件与导入路径匹配度
确认src目录下的文件实际名称(比如是否是aws-exports.js/aws-exports.ts),检查App.js中的导入路径是否完全对应。若文件带特殊后缀,需确保Expo的解析器能识别该扩展名。 - 修正.easignore规则
当前.easignore中#aws-exports.js是注释,不生效。需确保该文件未被.easignore忽略:如果之前有主动忽略aws-exports.js的规则,直接删除;若父规则(如*)导致文件被忽略,添加!aws-exports.js强制包含该文件。 - 调整Metro解析配置
在metro.config.js中扩展支持的文件扩展名,确保包含你的aws-exports文件后缀:const { getDefaultConfig } = require('expo/metro-config'); const config = getDefaultConfig(__dirname); config.resolver.sourceExts = [...config.resolver.sourceExts, 'js', 'ts', 'json']; module.exports = config; - 清除缓存后重新构建
执行命令清除Expo和EAS的缓存,避免旧缓存干扰:npx expo start --clear eas build --clear-cache - 验证Git忽略规则
检查.gitignore是否包含aws-exports.js,EAS构建默认仅同步Git追踪的文件,若文件被Git忽略,构建服务器将无法获取到它。 - 确认相对路径正确性
检查App.js所在目录,确保./src/aws-exports的相对路径指向正确位置。比如App.js在项目根目录时,src需同样位于根目录。
内容的提问来源于stack exchange,提问作者user42195
相关产品推荐
相关产品推荐

