javascript - 使用导入/导出默认语法从存储库导入文件时 Jest 失败

标签 javascript ecmascript-6 jestjs babeljs commonjs

我正在使用另一个存储库中的一些文件,这些文件是用 es6 语法编写的。

当前项目也是用 es6 语法编写的,但是 Babel 被配置为测试不会在导入时失败。 但是当它尝试从该存储库导入文件时失败。 当我将 es6 导入和导出重写到 CommonJS 时,要求语法测试不会失败。

我需要 Jest 或 Babel 的一些额外配置吗?

最佳答案

是的,您只需要对 Jest 进行一些额外的配置。

默认情况下 Jest 不会转换 node_modules 中的任何内容。

该行为由配置选项控制 transformIgnorePatterns默认为["/node_modules/"]

如果 node_modules 中有代码需要转换,那么您可以通过修改 Jest 配置中的 transformIgnorePatterns 将这些模块列入白名单:

"transformIgnorePatterns": [
  "node_modules/(?!(first-module-to-transform|second-module-to-transform)/)"
]

关于javascript - 使用导入/导出默认语法从存储库导入文件时 Jest 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56187594/

相关文章:

javascript - 如何以用户位置为中心制作 map

javascript - 如何在nodejs中使用异步等待

javascript - 我的简单 jquery 不起作用

javascript - 范围问题 : storing account credentials in a new class object within a promise, 但现在需要在类的其余部分使用此对象

javascript - 将 props 传递给 react-router v4 中的路由器组件

javascript - 在对象数组中创建唯一列表和数组项计数

react-native - 无法让 Jest expo 应用程序与 react-navigation 一起使用

javascript - 如何测试中止的函数?

node.js - 诗农模拟正在调用真正的方法

javascript - Array.every 函数并未在 Object 的所有元素上运行