Node.js从GitHub导入模块报错:缺少JSON类型导入断言
解决Node.js导入断言缺失错误(ERR_IMPORT_ASSERTION_TYPE_MISSING)
这个错误是因为你的项目通过"type": "module"启用了ES模块环境,在此环境下导入JSON文件必须显式添加导入断言,Node.js才能正确解析。以下分两种场景给出解决方案:
场景1:你的代码中导入了JSON文件
检查代码里是否存在类似这样的导入语句:
import someJson from './path/to/file.json';
将其修改为添加断言的格式:
import someJson from './path/to/file.json' assert { type: 'json' };
场景2:错误来自依赖的<my-module>模块
由于你的依赖是从Git仓库拉取的,分两种情况处理:
- 若你有权限维护该模块:
- 打开模块代码,找到所有导入JSON文件的语句
- 给这些语句添加
assert { type: 'json' }断言 - 提交修改到Git仓库后,重新在项目中安装依赖
- 若无法修改该模块:
改用CommonJS的require语法导入(该语法导入JSON无需断言):const myModule = require('<my-module>');
内容的提问来源于stack exchange,提问作者Vito Lipari
相关产品推荐
相关产品推荐

