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

求助:Express项目出现SyntaxError: Unexpected token import错误

解决Express项目中的SyntaxError: Unexpected token import错误

这个错误的核心原因是:Node.js默认采用CommonJS模块规范(用require/module.exports),并不原生支持ES6的import/export语法,所以需要通过Babel转译,或者改用CommonJS写法来解决。下面给你两种可行的解决方案:

方案一:用Babel转译ES6语法(保留import写法)

你已经在package.json里配置了babel-node,但可能缺少关键的Babel配置文件,按以下步骤完善:

  • 确保安装所有必要依赖
    如果还没安装完整,执行以下命令:

    npm install --save-dev babel-cli babel-preset-env
    
  • 创建Babel配置文件
    在项目根目录下新建.babelrc文件,写入以下内容:

    {
      "presets": ["env"]
    }
    

    这个文件会告诉Babel使用env预设,自动根据你的Node.js版本转译ES6+代码到兼容的语法。

  • 检查package.json配置
    你的start脚本已经配置正确:

    "scripts": {
      "start": "nodemon ./index.js --exec babel-node -e js"
    }
    

    另外可以把main字段从app.js改成index.js,让配置更贴合你的入口文件:

    "main": "index.js"
    
  • 启动项目
    执行npm start,应该就能正常运行,不会再出现Unexpected token import错误了。

方案二:改用CommonJS语法(快速解决,无需Babel)

如果不想配置Babel,可以直接把代码里的ES6模块语法改成Node.js原生支持的CommonJS写法:

  • 修改你的index.js为:

    const express = require('express');
    const data = require('./data/data');
    const app = express();
    const PORT = 3000;
    app.listen(PORT, () => console.log(`Your server is running on ${PORT}`));
    
  • 启动项目
    直接运行node index.js或者用nodemon启动:

    nodemon index.js
    

    这种方式不需要额外依赖,适合快速解决问题。

内容的提问来源于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 03:36:50