Babel.js Jest无法解析具有参数的模块

epfja78i  于 2022-12-08  发布在  Babel
关注(0)|答案(1)|浏览(217)

当我尝试运行我的Jest测试时,我得到这个错误:

Cannot find module 'core-js/modules/es.array.flat#?./my-file-path' from 'src/some-of-my-files.js'

Require stack:

> 1 | import "core-js/modules/es.array.flat#?./my-file-path";
    | ^
  at Resolver.resolveModule (node_modules/jest-resolve/build/resolver.js:324:11)

显然,Jest无法解析这种带参数的导入。有人有解决方案吗?
下面是我的jest.config.js:

module.exports = {
  moduleNameMapper: {
    // some mappers
  },
  setupFiles: [
    // some files
  ],
  setupFilesAfterEnv: [
    // some files 
  ],
  transform: {
    "^.+\\.(js|jsx)$": "babel-jest"
  },
  transformIgnorePatterns: [
    '/node_modules/(?!some-module-name)(.*)'
  ],
  testEnvironment: "jsdom",
  testPathIgnorePatterns: ["/test.js"]
};

我已经尝试了一些方法,但没有成功。

yqkkidmi

yqkkidmi1#

由于我不知道是否有不同的解决方案,我最终将导入的方式更改为如下所示:

import MyFileObj from "./my-file-path";    
import('core-js/modules/es.array.flat').then(m => m(MyFileObj));

如果有人有一个更好的解决方案,而不必改变导入的方式正在进行,请分享。

相关问题