Node.js中import语句及node-fetch模块报错问题求助
问题原因及解决办法
第一个报错(SyntaxError)的原因
Node.js 默认使用 CommonJS 模块规范,不支持 ES6 的 import 语法,所以在 package.json 中添加 "type": "module" 是正确的修正操作。
第二个报错(ERR_MODULE_NOT_FOUND)的可能原因及解决步骤
1. 模块安装路径错误
执行 npm install node-fetch 时,可能未在项目根目录(即包含 package.json 的目录,对应路径 e:\i_Chile Profile\1_i_CodeLearn\Javascript Projects\Javascript\ProjectNode)操作。
- 解决:打开终端切换到项目根目录,重新执行
npm install node-fetch。
2. node-fetch 安装失败或版本不兼容
node-fetch v3+ 仅支持 ES 模块,与你设置的 "type": "module" 匹配,但如果安装过程出错,或安装了不兼容的旧版本,会导致找不到模块。
- 解决:删除项目根目录下的
node_modules文件夹和package-lock.json文件,重新执行npm install node-fetch@latest。
3. 目录结构不规范
确保项目目录结构正确,package.json 和 node_modules 需在同一根目录下,你的 fetchAPI.js 所在的 src 目录是根目录的子目录,结构示例:
ProjectNode/ ├── package.json ├── node_modules/ └── src/ └── fetchAPI.js
4. 检查 import 语句拼写
确认代码中 import fetch from 'node-fetch'; 的包名拼写正确,无大小写或字符错误。
内容的提问来源于stack exchange,提问作者Test-Driven Coder
相关产品推荐
相关产品推荐

