在我们的项目中,我们将react-native安装在两个工作区中(用于测试目的的根文件夹和库文件夹)。尝试测试应用程序(根文件夹)时,这将引发典型错误“ jest-haste-map:Haste模块命名冲突”。
项目结构:
.(rootProject)
+-- my-package
| +-- package.json (workspace(*))
+-- package.json(workspace(*))
* has react-native as dependency
Run Code Online (Sandbox Code Playgroud)
我可以为移动设备进行编译,并提供以下配置:
.(rootProject)
+-- my-package
| +-- package.json (workspace(*))
+-- package.json(workspace(*))
* has react-native as dependency
Run Code Online (Sandbox Code Playgroud)
出于笑话,我尝试了以下操作但未成功:
// metro.config.js
blacklistRE: blacklist([
new RegExp(
`^${path.resolve(__dirname, 'my-package/node_modules')}/.*$`,
),
]),
Run Code Online (Sandbox Code Playgroud)
jest.config是否有任何类似的配置?
编辑:
根项目(rootProject)的临时配置(无效的配置):
// jest.config.js
modulePathIgnorePatterns: [
'<rootDir>/my-package/node_modules/react-native',
]
Run Code Online (Sandbox Code Playgroud)
注意:
my-package是一个git子模块,可以单独测试或与rootProject集成(具有自己的笑话配置)