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

Node.js引入axios报SyntaxError: Unexpected identifier错误如何解决?

问题描述

我的test.js文件内容如下:

const axios = require('axios');

console.log('test');

已执行npm install安装依赖,文件夹结构为:

test
  node_modules
  package.json
  package-lock.json
  test.js

移除第一行const axios = require('axios');后,执行nodejs test.js可正常运行并打印test;保留该行则报错,错误信息如下:

/home/username/test/node_modules/axios/index.js:1
import axios from './lib/axios.js';
       ^^^^^

SyntaxError: Unexpected identifier

我的环境版本:

node -v
v18.4.0

nodejs -v
v10.19.0

npm -v
8.12.1

请问该如何解决这个错误?

解决方案
  • 使用正确的Node.js版本执行脚本
    你的机器上同时存在两个Node.js版本:node对应v18.4.0(支持ES模块语法),nodejs对应v10.19.0(不支持顶级import语法)。报错根源是用低版本的nodejs命令执行,而新版axios已采用ES模块的import语法,Node.js 10无法识别。
    直接执行node test.js即可正常运行,无需修改代码或依赖。

  • 安装兼容Node.js 10的axios版本(若必须使用v10)
    如果你因特殊需求必须用nodejs(v10.19.0)执行,需安装支持CommonJS且兼容Node.js 10的旧版axios,比如0.27.x版本:

    npm uninstall axios
    npm install axios@0.27.2
    

    安装完成后,再用nodejs test.js执行就不会报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:45:38