Reactjs 如何解决vercel“问题”;ModuleNotFoundError“;部署下一个js应用程序时

Reactjs 如何解决vercel“问题”;ModuleNotFoundError“;部署下一个js应用程序时,reactjs,next.js,vercel,Reactjs,Next.js,Vercel,每当我尝试将我的网站部署到vercel时,我都会遇到这个ModuleNotFoundError。我已经重命名了我的组件和CSS模块,但由于某种原因,我一直收到这个错误 有人知道如何解决这个问题吗,因为我不知道我做错了什么 错误日志截图 您是否在仅重命名文件的情况下推送提交?如果您使用的是不区分大小写的文件系统(通常是macOS),而远程使用的是区分大小写的文件系统(基于Linux的构建环境)——这可能会导致问题。您可以通过将文件重命名为其他名称来确认(这样就不会出现大小写问题) 为了确认,运行n

每当我尝试将我的网站部署到vercel时,我都会遇到这个ModuleNotFoundError。我已经重命名了我的组件和CSS模块,但由于某种原因,我一直收到这个错误

有人知道如何解决这个问题吗,因为我不知道我做错了什么

错误日志截图


您是否在仅重命名文件的情况下推送提交?如果您使用的是不区分大小写的文件系统(通常是macOS),而远程使用的是区分大小写的文件系统(基于Linux的构建环境)——这可能会导致问题。您可以通过将文件重命名为其他名称来确认(这样就不会出现大小写问题)

为了确认,运行
next build&&next start
在本地工作?

问题在于“styles”文件夹,由于某种原因vercel无法找到指向我的css文件的路径。我通过将所有css文件(除了global.css)移动到我的“Components”文件夹(虽然不是最好的选择,但它起了作用)来解决这个问题。然后我用这段代码创建了一个“jsConfig.json”文件。 { “编译器选项”:{ “baseUrl”:“, “路径”:{ “@/components/”:[“components/”] } } }

最后,这就是我开始导入CSS文件的方式
从“@/components/.module.css”导入样式

如果已将文件夹或文件的名称更改为小写或大写,例如:从/Components更改为/Components

问题应该是因为您的远程分支没有更新,并且在本地分支中名称已经正确,您的解决方案正在运行,但是vercel使用linux,这是区分大小写的,因此发生了ModuleNotFoundError


要解决此问题,您可以将文件夹/文件保存在其他位置,然后将其从project中删除并提交。提交后,您应再次复制并通过保存在项目中另一个位置的文件/文件夹,并提交到结构正确的romete branch。您也可以使用命令“git mv”oldfileOrFolder“newFileOrFolder”,请参阅文档。

它是否在开发服务器中工作这意味着什么?我在Vercel上部署之前运行了$npx next build它是否在您的计算机上工作是的,它是。在服务器上运行它时没有错误