我正在对当前没有测试的现有项目实施测试。我的测试未能编译node_modules/
导入。Jest设置“SyntaxError:意外的令牌导出”
/Users/me/myproject/node_modules/lodash-es/lodash.js:10
export { default as add } from './add.js';
^^^^^^
SyntaxError: Unexpected token export
at transformAndBuildScript (node_modules/jest-runtime/build/transform.js:320:12)
at Object.<anonymous> (app/reducers/kind_reducer.js:2:43)
at Object.<anonymous> (app/reducers/index.js:12:47)
我已经找到了解决办法是在开玩笑的package.json配置“白名单” node_modules
这样的:
"jest": {
"transformIgnorePatterns": [
"!node_modules/"
]
}
这似乎是一个黑客,因为它需要超过1分钟,运行一个简单的测试进口node_modules/lodash-es/lodash.js
。
任何帮助或方向感谢,谢谢!
很多节点模块出口ES5,这样的玩笑可以运行它没有变形的箱子。这就是为什么默认情况下,jest不会转换node_modules。 在这种情况下,lodash-es专门导出es模块,因此您必须让jest转换该代码。如果您在'transformIgnorePatterns'中使用'“!node_modules/lodash-es”',那么您可能会很安全,因此只能在lodash-es上运行babel。 –