[英]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.