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

Node.js导入database模块报错ERR_MODULE_NOT_FOUND,求解决

问题解决:ERR_MODULE_NOT_FOUND 找不到config/database模块

首先明确:你看到的错误根源不是server.js导入database/index.js的问题,控制台报错清晰指向:database/index.js里导入../config/database时找不到对应模块。以下是具体排查和修复步骤:

1. 检查文件路径与后缀

ESM(ES模块)要求导入必须使用完整文件后缀,且路径严格匹配:

  • 确认src/config/目录下存在database.js文件(注意是.js后缀,不是无后缀或其他格式)
  • 修改database/index.js里的导入语句,添加.js后缀:
    // 原代码
    import config from '../config/database';
    // 修改后
    import config from '../config/database.js';
    
  • 同理,import Model from '../models'也需要修正:如果models是文件夹,需指定入口文件(比如../models/index.js);如果是单个文件,加.js后缀。

2. 修复代码语法错误

database/index.js的构造函数里有语法错误,两个方法调用之间缺少分号:

// 原代码
this.init() this.associate()
// 修改后
this.init(); this.associate();

3. 补全models数组

当前models数组是空的,init和associate方法遍历空数组不会执行任何操作,需要把你的模型类导入并加入数组:

// 示例:导入User模型
import User from '../models/User.js';
// 把模型加入数组
const models = [User];

4. 确认package.json配置

确保"type": "module"是package.json的顶层属性,格式正确:

{
  "name": "your-project-name",
  "version": "1.0.0",
  "type": "module",
  // 其他配置...
}

完成以上步骤后,重新启动服务,应该能解决模块找不到的问题。

内容的提问来源于stack exchange,提问作者Mateus Full Stack Dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:23:12