node-fetch使用方法及代码运行终端报错原因排查
node-fetch 引入报错常见原因及解决方案
核心原因
node-fetch 从 v3.x 版本开始转为纯 ES Module 包,不再支持 CommonJS 规范的 require() 导入语法,你当前使用的 const fetch = require('node-fetch') 属于 CommonJS 写法,若安装的是 v3.x 及以上版本就会触发报错。
对应解决方案
- 方案1:降级使用兼容 CommonJS 的 2.x 版本
执行安装命令覆盖当前版本即可保留原有写法:npm install node-fetch@2 - 方案2:适配 ES Module 规范
首先在项目的package.json文件中添加配置项开启 ES Module 模式:"type": "module"
再把原有引入语句替换为 ES Module 导入语法:import fetch from 'node-fetch'
其他可能的报错原因
- Node.js 版本不符合要求:node-fetch v2.x 要求 Node.js 版本 >= 4,v3.x 要求 Node.js 版本 >= 12.20.0,版本过低会触发运行报错,需升级 Node.js 到对应要求的版本区间。
- 依赖安装不完整:安装过程中因网络波动等问题导致依赖包下载不全,可删除项目下的
node_modules文件夹和package-lock.json文件后重新执行安装命令。
内容的提问来源于stack exchange,提问作者Afolabi Opeyemi
相关产品推荐
相关产品推荐

