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

Node.js运行Tinder克隆项目时出现ERR_MODULE_NOT_FOUND错误的求助

解决Node.js中ERR_MODULE_NOT_FOUND报错的问题

我刚看完你的代码和问题描述,这个模块找不到的错误在使用ES模块(import/export)时非常常见,咱们一步步来排查和解决:

原因1:未开启ES模块模式

Node.js默认采用CommonJS模块规范(使用require/module.exports),但你的代码全程用了import/export语法。如果没有在项目配置中声明启用ES模块,Node会把你的文件当成CommonJS处理,从而触发模块找不到的错误。

解决方案:
在项目根目录的package.json文件中添加"type": "module"字段,示例配置如下:

{
  "name": "tinder-clone",
  "version": "1.0.0",
  "type": "module",
  "dependencies": {
    "express": "^4.18.2",
    "mongoose": "^7.5.0"
  }
}

原因2:文件导入路径/文件名不匹配

你在server.js中写了import Cards from "./dbCards";,但你的模型文件实际命名是dbCard.js(少了一个s),文件名和导入路径不匹配,Node自然找不到对应的模块。另外,ES模块导入本地文件必须加上.js后缀,不能省略。

解决方案:
二选一即可:

  1. 把模型文件名改为dbCards.js,保持导入语句不变;
  2. 修改server.js中的导入语句为:
import Cards from "./dbCard.js";

原因3:依赖包未安装

如果你的项目还没有安装express和mongoose这两个依赖包,Node也会抛出模块找不到的错误。

解决方案:
在项目根目录下运行以下命令安装依赖:

npm install express mongoose

额外小修正

你的server.js最后一行有个笔误:lis terning应该是listening,虽然不影响模块加载,但修正后能避免日志信息混淆。

验证步骤

修改完成后,按以下顺序操作确认问题解决:

  1. 确认package.json中已添加"type": "module";
  2. 确认文件名和导入路径完全匹配,且本地文件导入带.js后缀;
  3. 确认依赖包已成功安装;
  4. 用node server.js或nodemon server.js重启服务。

这样应该就能彻底解决ERR_MODULE_NOT_FOUND的报错了。

内容的提问来源于stack exchange,提问作者Mohmd Eskandari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 02:04:09