2
我有一个包含多个模块的项目(使用Lerna),我想用Jest来运行测试。然而,当我测试使用共享的模块代码(经勒拿湖NPM链接模块)似乎巴贝尔应用不正确,我得到以下错误:Jest无法从npm链接模块转储导入
SyntaxError: Unexpected token import
我的项目的结构是这样的:
- my-project
|- shared
|- native
|- web
web
和native
需要shared
模块。当我进入shared
目录并在Jest中运行本地测试时,一切正常。如果我在web
目录中运行Jest测试,只要包含shared
中的某些内容,就会发生上述错误。
这里是一个超级简单的测试导致错误:
import { util } from 'shared';
it('returns false if not prod',() => {
expect(util.isProd()).toBe(false);
});
我.babelrc
看起来是这样的:
{
"presets": [
"env",
"flow",
"react"
],
"plugins": [
"flow-react-proptypes",
"transform-object-rest-spread",
"transform-class-properties"
]
}
我什么都试过了我能找到,其中包括:
- 不同的巴别配置,包括一个与
es2015
预设和启用modules
测试环境 - 手动设置为巴别-开玩笑
- 如所提到的,可以玩笑的
shared
模块中被执行,从而,玩笑和babel-jest
安装有作为所述transform
选项。