代码拆分`import`打破了Jest测试

Cod*_*Cat 4 javascript unit-testing webpack jestjs

我正在使用webpack的代码拆分功能,但似乎开玩笑无法识别该import()功能:

        import('myModule').then(function (myModule) {
        ^^^^^^
SyntaxError: Unexpected token import
Run Code Online (Sandbox Code Playgroud)

我没有任何特殊设置。我的npm测试脚本只是简单地运行"test": "jest"

我该如何运作?

我正在使用最新版本的jest 20.0.4和babel-jest 20.0.3

Cod*_*Cat 7

哦,我才找到答案。

只需安装此插件:https : //github.com/airbnb/babel-plugin-dynamic-import-node并将其添加到.babelrc文件中:

{
  ...
  "env": {
    "test": {
      "plugins": ["dynamic-import-node"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您通过ts-jest使用带有Typescript的Jest,则需要将此配置添加到```{...“ jest”:{“ globals”:{“ ts-jest”:{“ babelConfig” :{“ env”:{“ test”:{“ plugins”:[“ dynamic-import-node”]}}}}}} (3认同)
  • 我一直有相同的[issue](/sf/ask/3151620881/#45042067),这解决了我的问题, 谢谢!尽管我还必须始终在--no-cache模式下运行jest才能使其工作:/ (2认同)