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

Node.js导入模块触发ERR_MODULE_NOT_FOUND错误,求排查原因

解决ERR_MODULE_NOT_FOUND:无法找到erroHandler模块的问题

核心问题是拼写错误,同时需遵循ES模块导入规范,以下是具体排查和修复步骤:

1. 修正文件名/导入路径的拼写错误

报错信息明确显示找不到../utils/erroHandler,这里存在拼写失误:正确文件名应为errorHandler(缺失字母r)。

  • 检查backend/utils/目录下的文件:
    • 若实际文件名是errorHandler.js,修改errors.js中的导入语句:
      import ErrorHandler from '../utils/errorHandler.js';
      
    • 若文件名确实是erroHandler.js,建议统一修正为errorHandler.js,保持代码命名一致性。

2. 遵循ES模块导入规范

Node.js的ES模块(ESM)模式下,导入本地文件必须添加完整扩展名(如.js),否则会触发解析错误,确保所有本地模块导入都包含后缀。

3. 验证文件存在性与路径正确性

核对报错中的绝对路径:C:\Users\Fanta\Desktop\Trabajo y estudio\MinTic\Ciclo 4\Programacion\VetyShop\backend\utils\erroHandler,确认:

  • 该路径下确实存在对应文件
  • 文件名大小写与导入语句一致(Windows系统不区分大小写,但跨平台开发建议保持一致)

4. 补充app.js中的中间件使用(后续必要步骤)

当前报错与app.js的导入无关,但为确保错误处理中间件生效,需在所有路由定义之后添加:

import express from 'express';
import productsRouter from './routes/products.routes.js';
import errors from './middlewares/errors.js';

const app = express();

app.use(express.json());
app.use('/api', productsRouter);

// 必须放在所有路由之后
app.use(errors);

export default app;

内容的提问来源于stack exchange,提问作者John James

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:31:00