Jest 在导入 OpenLayers 时遇到了意外的令牌

Jest encountered an unexpected token with OpenLayers import

我仔细阅读了这个错误并跟进了很多帖子,但这些解决方案似乎对我不起作用。这是我读到的潜在原因是:

  1. https://github.com/openlayers/openlayers/issues/7401

我已经尝试更新 package.json 中的 Jest 配置以及安装的 jest-canvas-mock,但仍然遇到此错误。以下是我所做的更改:

"transformIgnorePatterns": [
  "<rootDir>/node_modules/(?!(ol)/)"
],
"setupFiles": [
  "jest-canvas-mock"
],

如有任何帮助,我们将不胜感激。

深入研究后,我在这里详细了解了核心问题:

https://github.com/facebook/jest/issues/6229#issuecomment-551916758

这个问题仍然很重要,所以为了后代,我将提供我发现的应用 band-aid:

的技术
  1. 将你的 .babelrc 重命名为 babel.config.js(注意你必须使用 module.exports)

  2. 应用所需的 transformIgnorePattern:

    “transformIgnorePatterns”:[ "/node_modules/(?!ol).+\.js$"
    ],

如果这对您不起作用,上面的 link 应该会指导您找到解决方案。