Javascript 开玩笑';项目';配置未在子文件夹中读取.babelrc和webpack.config.json
我需要一些帮助,在mono repo中配置与babel的jest 我的项目布局如下所示:Javascript 开玩笑';项目';配置未在子文件夹中读取.babelrc和webpack.config.json,javascript,webpack,jestjs,babel-jest,Javascript,Webpack,Jestjs,Babel Jest,我需要一些帮助,在mono repo中配置与babel的jest 我的项目布局如下所示: src/some/path/packages /jest.config.js /a/src/jest.config.js /a/src/.babelrc /a/src/webpack.config.js
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,它将非常有效
但是如果我把它叫做包的话
- 无法解析模块和
- ES6导入不起作用,我得到了SyntaxError的(.babelrc显然没有找到)
module.exports = {
projects: [{
rootDir: "<rootDir>/a/src",
resolver: "jest-webpack-resolver"
},
{
rootDir: "<rootDir>/b/src",
resolver: "jest-webpack-resolver"
}]
};
module.exports={
项目:[{
rootDir:“/a/src”,
解析程序:“jest网页包解析程序”
},
{
rootDir:“/b/src”,
解析程序:“jest网页包解析程序”
}]
};
但是也没有用。我面临着完全相同的问题。我花了一段时间来计算这个put,但我用自己版本的
babeljest
解决了这个问题,这个版本名为babeljest-nested
:
有了它,我可以在jest.config.js
中指定根级别的项目:
module.exports = {
projects: ['<rootDir>/packages/*']
}
然后,在project/package中,我只需在jest.config.js
文件中执行此操作:
module.exports = {
...require('../../jest.base.config.js')
}
突然之间,一切都起了作用。魔法。你找到答案了吗?不,很遗憾,我没有向jest提出问题,希望在
babel jest
中包含此功能:但是如果你需要覆盖某些配置,该怎么办?您需要进行深度克隆并合并基本配置和子配置?更新:现在最好使用这种方法:
module.exports = {
...require('../../jest.base.config.js')
}