首页 > 解决方案 > 使用导入/导出默认语法从存储库导入文件时,Jest 失败

问题描述

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

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

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

标签: javascriptecmascript-6jestjsbabeljscommonjs

解决方案


是的,您只需要对Jest.

默认情况下Jest不会转换node_modules.

该行为由transformIgnorePatterns默认为["/node_modules/"].

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

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

推荐阅读