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

Express项目中import router语法错误致nodemon崩溃问题求助

解决Express+Babel启动时的SyntaxError和nodemon崩溃问题

看起来你遇到的问题根源是ES模块导入语法错误,这直接导致了Babel转译失败,进而引发nodemon反复重启崩溃。我来一步步帮你排查解决:

1. 修复核心语法错误(最关键)

你的第三行代码import router from express.Router()完全不符合ES模块的语法规范——import ... from后面必须跟字符串形式的模块名称,不能直接写函数调用。这就是报错Unexpected token (3:19)的直接原因。

把你的顶部代码替换成以下两种正确写法之一:

方案一:解构导入Router

import express from 'express'; 
import favicon from 'serve-favicon'; 
// 从express模块中解构出Router类
import { Router } from 'express';
// 创建router实例
const router = Router();

方案二:通过express实例创建router

import express from 'express'; 
import favicon from 'serve-favicon'; 
// 直接用导入的express对象创建router实例
const router = express.Router();

2. 验证Babel配置(如果修复语法后仍有问题)

如果修复语法后还是出现转译错误,检查你的Babel配置是否正确:

  • 确保安装了正确的依赖(建议使用新版@babel系列,替代旧版babel-core):
    npm install @babel/core @babel/node @babel/preset-env --save-dev
    
  • 在项目根目录创建.babelrc配置文件,添加ES6转译规则:
    {
      "presets": ["@babel/preset-env"]
    }
    
  • 检查package.json中的启动脚本是否正确:
    "scripts": {
      "start": "nodemon --exec babel-node ./index.js"
    }
    

3. 清理缓存重新启动

有时候依赖缓存会导致奇怪的问题,执行以下步骤重置:

  1. 完全停止当前的nodemon进程(快捷键Ctrl+C)
  2. 删除依赖目录和锁文件:
    rm -rf node_modules package-lock.json
    
  3. 重新安装依赖并启动:
    npm install
    npm start
    

内容的提问来源于stack exchange,提问作者code-8

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:11:53