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

Node.js已配置type:module仍报Cannot use import statement outside a module错误

问题原因及解决办法

核心原因

当你在package.json中添加"type":"module"后,Node.js会将所有.js文件识别为ES模块。此时你仍然用CommonJS的require()引入axios,会和axios本身的ES模块结构产生冲突——axios当前版本默认以ES模块形式发布,在ES模块环境下用require()加载会触发模块语法不兼容的错误。

解决办法

方案1:保持ES模块模式(推荐)

既然已经开启了ES模块,就统一用ES模块的语法引入axios:

  1. 修改index.js中的引入语句:
import axios from 'axios';
  1. 确保你的Node.js版本≥14.13.0(或≥16.0.0,ES模块支持更稳定),直接运行node index.js即可。

方案2:切换回CommonJS模式

如果更习惯用require(),可以移除ES模块配置:

  1. 删除package.json中的"type":"module"字段;
  2. 保持原有的const axios = require('axios');代码,运行node index.js即可。Node.js会自动加载axios的CommonJS兼容版本。

额外排查点

  • 确认package.json中的"type":"module"是顶级字段(和"name"、"version"同级),不要嵌套在其他配置项里;
  • 若安装了旧版本axios,尝试更新到最新版:npm install axios@latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:38:15