You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React.js编译失败:模块未找到问题求助(附代码及报错详情)

React.js编译失败:模块未找到(涉及register/route.js与models/User.js)

问题概述

操作时触发编译失败,提示模块未找到,错误关联register/route.js和models/User.js文件。已排查并修正拼写、路径问题,但故障仍存在。

报错截图

  • 核心编译错误:主编译错误截图
  • 文件关联错误:register/route.js与User.js报错截图

涉事文件代码

register/route.js

import mongoose from "mongoose";

import {User} from "@/models/User";

export async function POST(req){
const body = await req.json();
mongoose.connect(process.env.MONGO_URL);
const cretedUser = await User.create(body);
return Response.json(createdUser);
}

models/User.js

import {model, models, Schema} from "mongoose";

const UserSchema = new Schema({
email:{type:String, required:true, unique: true},
password:{
    type:String, 
    required: true, 
    validate: pass => {
    if(!pass?.length || pass.length <5 ){
        new Error('password must be at least 5 characters');
    }
},
},
},{timestamps: true}); 

export const User = models?.User || model('User', UserSchema);

仓库结构

项目仓库结构截图

排查修复步骤

  1. 修正文件夹大小写匹配:从代码和结构来看,User模型文件放在Model文件夹下,但register/route.js中导入路径是@/models/User——Linux/macOS系统文件系统区分大小写,这会直接导致模块找不到。将Model文件夹重命名为models(全小写),保持和导入路径一致。

  2. 确认根路径别名配置:Next.js中@作为根路径别名需要手动配置,检查项目根目录下的jsconfig.json或tsconfig.json是否有如下配置:

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["./*"]
    }
  }
}

如果没有,添加该配置后重启开发服务器。

  1. 修正变量拼写错误:register/route.js里的cretedUser是拼写错误,应改为createdUser,避免后续运行时出现未定义变量错误。

  2. 重启开发服务器:修改文件夹名或配置文件后,必须重启开发服务器,确保变更生效。

  3. 验证依赖安装:执行npm install mongoose重新安装mongoose依赖,排除依赖缺失或损坏的可能。


内容的提问来源于stack exchange,提问作者Gia Khánh Lê

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 21:58:11