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

Node.js Express导入模块报ERR_MODULE_NOT_FOUND错误排查求助

问题原因

Node.js 原生 ES 模块(ESM)规范要求,导入本地相对路径的自定义模块时必须显式声明文件扩展名,不会像 CommonJS 规范或者前端打包工具那样自动补全 .js 后缀。你当前省略了 .js 后缀,Node 会直接查找无后缀的 userService 文件,找不到就抛出模块不存在的报错。

修复方案

修改 userController.js 中的导入语句,补上 .js 后缀即可:

// 修改前
// import userService from "../services/userService";
// 修改后
import userService from "../services/userService.js";

额外验证点

如果修改后仍然报错,可以再核对两个配置:

  • 项目根目录的 package.json 中是否配置了 "type": "module",开启 ESM 支持
  • 目录结构是否匹配:userService.js 确实在 services 目录下,和 controllers 目录同级

内容的提问来源于stack exchange,提问作者Khả Nam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:57:03