Node.js搭配Mocha使用ES Modules报ERR_MODULE_NOT_FOUND如何解决
问题原因
Node.js 原生 ES Modules 规范要求,导入本地相对路径的自定义模块时,必须显式声明完整的文件扩展名,不支持 CommonJS 模式下自动补全 .js 后缀的解析逻辑。测试文件中导入 ../index 时省略了 .js 后缀,是触发模块找不到报错的核心原因。
修复方案
修改 test/index.spec.js 文件中的导入语句,补全 index.js 的扩展名:
// 修改前 import { hello } from '../index'; // 修改后 import { hello } from '../index.js';
修改完成后重新执行 npm test 即可正常运行测试。当前你已经完成的 package.json 中 "type": "module" 配置、Mocha 和 Node.js 版本均满足 ESM 运行要求,无需额外修改其他配置。
内容的提问来源于stack exchange,提问作者Sven Lauterbach
相关产品推荐
相关产品推荐

