部署NextJS至AWS Amplify时出现‘Module Not Found’错误求助
排查方向及解决步骤
路径大小写问题
本地Windows/macOS是大小写不敏感的,但Amplify采用Linux构建环境,大小写严格区分。检查src/styles/下的文件名是否完全匹配Home.css,page.tsx里的导入路径@/styles/Home.css要和实际文件名大小写完全一致,避免出现home.css或Home.CSS这类变体。tsconfig.json路径别名配置
确认tsconfig.json里的paths配置是否正确映射了@/styles/*:{ "compilerOptions": { "baseUrl": ".", "paths": { "@/styles/*": ["src/styles/*"] } } }注意Next.js 13+的App Router项目,tsconfig.json必须放在项目根目录,Amplify构建时才能正确读取该配置。
检查.gitignore规则
查看.gitignore里是否将src/styles/或Home.css排除,若文件未推送到Git仓库,Amplify构建时必然找不到。直接去远程仓库分支确认src/styles/Home.css是否存在。Amplify构建配置检查
确认Amplify控制台的构建命令为npm run build,与本地一致。还可以在构建前添加调试命令ls -la src/styles/,查看构建环境下该目录的文件列表,确认Home.css是否存在。版本一致性验证
本地的Node.js、Next.js版本要和Amplify构建镜像里的版本对齐。可以在Amplify构建设置里指定Node.js版本,避免版本差异导致路径解析异常。
快速验证方法
找个Linux环境(比如用Docker运行Ubuntu容器),拉取项目后执行npm run build,如果同样报错,说明是代码/配置问题;如果正常,则是Amplify的环境或配置问题。
内容的提问来源于stack exchange,提问作者Tristan Miller

