我需要一些帮助,在单声道回购中使用babel配置玩笑,
我的项目布局如下:
src/some/path/packages
/jest.config.js
/a/src/jest.config.js
/a/src/.babelrc
/a/src/webpack.config.js
/b/src/jest.config.js
/b/src/webpack.config.js
和我的根jest.config.js:
module.exports = {
projects: ["./a/src/jest.config.js", "/b/src/jest.config.js"]
};
a / src / jest.config.js:
module.exports = {
resolver: "jest-webpack-resolver"
};
你可以看到我正在使用webpack解析器,因为我的webpack.config.js文件中有别名
如果我在./a/src中调用jest,它的效果非常好 但如果我把它叫做包装呢
我想防止必须安装babel / jest / 应用程序中的webpack,我无法弄清楚如何使用jest 正确的.babelrc文件
我还尝试将packages /中的jest.config.js更改为:
module.exports = {
projects: [{
rootDir: "<rootDir>/a/src",
resolver: "jest-webpack-resolver"
},
{
rootDir: "<rootDir>/b/src",
resolver: "jest-webpack-resolver"
}]
};
但也无济于事。
答案 0 :(得分:1)
我正面临着完全相同的问题。我花了一些时间来计算这个看跌期权,但是我设法用自己的babel-jest
版本babel-jest-nested
解决了这个问题:
https://github.com/lehni/babel-jest-nested
这样,我可以在jest.config.js
的根级别指定我的项目:
module.exports = {
projects: ['<rootDir>/packages/*']
}
我在每个项目/程序包将要加载的根级别上也有一个jest.base.config.js
:
module.exports = {
transform: {
'^.+\\.jsx?$': 'babel-jest-nested'
},
testMatch: [
'**/src/**/?(*.)+(test).js'
]
}
然后,在项目/包中,我再次在jest.config.js
文件中执行此操作:
module.exports = {
...require('../../jest.base.config.js')
}
突然间,一切正常。魔术。