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

Node.js使用node-fetch报Unexpected token import错误怎么解决?

错误原因
  • 当前你安装的node-fetch为v3及以上版本,该版本已全面改为纯ES Module规范,仅支持import语法导入,不再兼容CommonJS的require导入方式
  • 你的Node.js版本要么低于v12.20.0(本身不支持ES Module的import语法),要么没有在项目package.json中声明"type": "module",默认按照CommonJS规范解析JS文件,因此会识别import为非法语法
  • 你将自身代码改为require写法后,node-fetch v3内部代码依然使用ES Module的import语法,Node.js解析依赖包代码时依然会触发语法错误
解决方案

有两种可行方案,任选其一即可:

方案一:安装兼容CommonJS的低版本node-fetch(操作最简单,推荐新手使用)

  • 执行命令卸载当前高版本node-fetch:npm uninstall node-fetch
  • 执行命令安装v2版本的node-fetch(该版本支持require导入):npm install node-fetch@2
  • 保持你修改后的require写法的代码不变,重新执行node fetch.js即可正常运行

方案二:适配ES Module规范使用最新版node-fetch

  • 首先执行node -v检查你的Node.js版本,必须高于等于v12.20.0,版本过低请先升级Node.js
  • 打开项目根目录下的package.json文件,在顶层JSON配置中添加一行:"type": "module"
  • 恢复你的代码为最初的import写法,重新执行node fetch.js即可正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:15:04