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

导入Node路由时Node.js服务崩溃,求问题排查方法

Node.js ESM 路由模块导入崩溃排查方案

问题场景

导入路由模块时服务崩溃,移除路由后服务正常运行,已确认路径但问题依旧。核心代码如下:

import express from "express";
import cors from "cors";
import verifyRouter from "./routes/jwtauth";

const app = express();
const port = 4500;

// Middleware
app.use(cors());
app.use(express.json());

app.use("/auth", verifyRouter);

app.listen(port, () => {
    console.log(`Server is running at http://localhost:${port}`);
});

报错信息:

Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Users\DELL\Desktop\myproject\server\routes\jwtauth' imported from C:\Users\DELL\Desktop\myproject\server\index.js
Did you mean to import ../routes/jwtauth.js?
    at new NodeError (node:internal/errors:405:5)
    at finalizeResolution (node:internal/modules/esm/resolve:327:11)
    at moduleResolve (node:internal/modules/esm/resolve:946:10)
    at defaultResolve (node:internal/modules/esm/resolve:1132:11)
    at nextResolve (node:internal/modules/esm/loader:163:28)
    at ESMLoader.resolve (node:internal/modules/esm/loader:835:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:77:40)
    at link (node:internal/modules/esm/module_job:76:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Node.js v18.18.2
[nodemon] app crashed - waiting for file changes before starting...

排查与解决步骤

  • 补全文件扩展名:Node.js ESM模式下必须指定完整文件扩展名,不能省略.js。修改导入语句为:
    import verifyRouter from "./routes/jwtauth.js";
    
  • 核对文件实际状态:
    • 确认server/routes目录下存在jwtauth.js文件,检查文件名拼写、大小写(Windows系统虽不区分,但ESM解析可能严格匹配)
    • 排除文件扩展名错误(如误命名为.jsx/.ts等)
  • 确认ESM模式配置:在项目根目录的package.json中添加"type": "module",确保Node.js将文件当作ESM模块处理:
    {
      "type": "module"
    }
    
  • 验证相对路径逻辑:确认index.js位于server/目录下,./routes/jwtauth.js对应路径为server/routes/jwtauth.js,与报错中缺失扩展名的路径一致
  • 检查nodemon配置:若使用nodemon,确保其未忽略routes目录文件,无路径解析相关异常配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:29:50