首页 文章

使用jest导出意外的令牌

提问于
浏览
3

我已经能够在我的案例中找到解决方案了 . 我试图运行开玩笑时遇到了可怕的 SyntaxError: Unexpected token export .

project/node_modules/@agm/core/index.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from './directives';

正在运行这些测试的代码工作正常 . 错误似乎来自于开玩笑本身 . 似乎jest正在改变文件,但我可能是错的 .

我的开玩笑配置是

"jest": {
  "preset": "jest-preset-angular",
  "setupTestFrameworkScriptFile": "<rootDir>/setup-jest.ts",
  "transformIgnorePatterns": [
    "node_modules"
  ]
}

我已经尝试将 transformIgnorePatterns 更新为 "<rootDir>/node_modules/(?!@agm)""node_modules/(?!@agm)""node_modules/(?!@agm/core)" ,但这些似乎没有任何区别 .

如何才能正确处理从 @agm/core 导入的文件?

1 回答

  • 0

    我需要进行一些更改才能使其正常工作 . 当使用 @agm/core 将Angular 6应用程序与jest一起使用时,这应该可以解决问题 .

    yarn add --dev babel-preset-env
    

    你应该已经有 babel-jest .

    然后更新您的jest配置:

    "transform": {
      "^.+\\.js": "<rootDir>/node_modules/babel-jest"
    },
    "transformIgnorePatterns": [
      "<rootDir>/node_modules/(?!@agm)"
    ]
    

    如果您没有 .babelrc ,还需要添加 .babelrc

    {
      "presets": "babel-preset-env"
    }
    

    这可能适用于需要进行babel转换的其他库 .

相关问题