繁体   English   中英

玩笑意外地导出令牌

[英]Unexpected token export with jest

我已经看到其他一些答案和GitHub问题来描述这一点,但是我无法找到解决方案。 尝试运行玩笑时,我得到了可怕的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": {
  "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导入的文件?

为了使它起作用,我需要进行一些更改。 当使用@agm/core进行Angular 6应用时,这应该可以解决该问题。

yarn add --dev babel-preset-env

您应该已经有了babel-jest

然后更新您的笑话配置:

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

如果您还没有一个,则还需要添加一个.babelrc来使用:

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

这可能适用于需要安装babel转换的其他库。

我想为babel 7+添加它,而不是.babelrc,请使用babel.config.js

module.exports = {
    presets: ['babel-preset-env'],
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM