Javascript 为什么jest未在测试中导入esm模块

Javascript 为什么jest未在测试中导入esm模块,javascript,reactjs,testing,jestjs,Javascript,Reactjs,Testing,Jestjs,我有一个由我的公司维护的UI框架。该库不提供cjm模块。相反,仅提供esm模块 我知道这个库不是从jest运行的测试条件中导入失败的 通过一些GoTool,我发现Jest不支持ESM模块导入,在Jest()上支持ESM模块还处于实验阶段。因此,我尝试将我的库作为cjs模块版本,并再次进行测试。这是完美的作品。所以我确信前面的错误是因为Jest不支持esm模块导入 但在这一点上,我想知道下面的事情 如果Jest不支持ESM,则无论是否提供ESM模块,每个库都应具有cjs模块 Jest是否始终仅从

我有一个由我的公司维护的UI框架。该库不提供cjm模块。相反,仅提供esm模块

我知道这个库不是从jest运行的测试条件中导入失败的

通过一些GoTool,我发现Jest不支持ESM模块导入,在Jest()上支持ESM模块还处于实验阶段。因此,我尝试将我的库作为cjs模块版本,并再次进行测试。这是完美的作品。所以我确信前面的错误是因为Jest不支持esm模块导入

但在这一点上,我想知道下面的事情

  • 如果Jest不支持ESM,则无论是否提供ESM模块,每个库都应具有cjs模块

  • Jest是否始终仅从库中查找cjs模块

  • React测试如何在笑话中工作?甚至认为每个react组件和其他模块都是ESM?这就是为什么我们需要react测试渲染器或babel jest作为react测试的依赖项

  • 最后,有一些资源,我可以找到一些关于这个主题的信息


  • @MariosNikolaou是的,我在上面的帖子上链接了同一个页面。我的jest版本是26.4.2,您可以从jest版本
    jest@25.4.0
    及以上。嗯。。。那么,当我的库没有cjm模块时,为什么我的测试失败?我的jest版本是v26,而我的节点版本也是v14.13.1。这可能有助于甚至认为每个react组件和其他模块都是ESM——因为Babel。React的JSX是无效的JS,可能会导致语法错误,但它仍能以某种方式工作。这就是为什么。本地的ESM支持在笑话中是远远不够实际的,你不应该真正考虑它,除非证明是另外的。