我遇到的这个问题是我在一个JavaScript程序中犯了一个错误;导入行不包括.js
扩展名。
可以理解的是,这意味着程序无法与节点作为./import
不存在(./import.js
不存在).错误我反映了这个Error [ERR_MODULE_NOT_FOUND]: Cannot find module .../export' imported from ...
.
但是,当用jest
测试时,它工作得“正确”(就像包含了文件扩展名一样)。有人知道为什么这段代码对jest来说是“正确”的,即使它试图从中导入的文件实际上并不存在吗?
我已经设置了一个非常小的repo here来复制这个问题(使用相同的配置)。希望这能提供关于我的问题的所有上下文。
1条答案
按热度按时间vuktfyat1#
当你在Jest中运行代码时,你使用的是Jest的导入系统,这比默认的JavaScript导入系统要高级得多,它可以做“猜测”扩展名之类的事情。
因此,代码很可能通过Jest正确运行。
查找
jest.config.js
,它列出了要尝试的扩展名吗?例如.js
、.jsx
、.ts
?如果列出了,这就是您的答案。