Typescript 在多个路径共享同一tsconfig别名时配置Jest

Typescript 在多个路径共享同一tsconfig别名时配置Jest,typescript,jestjs,Typescript,Jestjs,我一直试图让Jest在我的Typescript配置中正常工作,但我遇到了一些问题 如何在jest.config.js文件中配置moduleNameMapper,以允许多个路径共享同一别名,例如tsconfig文件中所示的示例。对于单个路径,这不是问题,我将简单地设置路径,如示例Jest.config.js文件所示 有没有人有例子或资源可以帮我指出正确的方向 提前谢谢 Tsconfig.json Jest.config.js moduleNameMapper:{ “^@app/components

我一直试图让Jest在我的Typescript配置中正常工作,但我遇到了一些问题

如何在jest.config.js文件中配置moduleNameMapper,以允许多个路径共享同一别名,例如tsconfig文件中所示的示例。对于单个路径,这不是问题,我将简单地设置路径,如示例Jest.config.js文件所示

有没有人有例子或资源可以帮我指出正确的方向

提前谢谢

Tsconfig.json

Jest.config.js

moduleNameMapper:{
“^@app/components/(.*)$”:“/src/path1/components/$1”
}

路径很少与多个路径一起使用。这是模棱两可的,这很糟糕。正如你所看到的,它会引起问题。显然,moduleNameMapper无法做到这一点,因为它提供了多对一或一对一映射。基本上,您需要在需要之前对两条路径执行此检查的自定义解析器。我只是重构导入以避免麻烦。我同意@EstusFlask。虽然很少有情况下使用多条路径进行映射是完全合理的,但您的使用似乎非常可疑。
compilerOptions: {
  "paths": {
    @app/components: [
      "src/path1/components/*",
      "src/path2/components/*"
    ]
  }
}
moduleNameMapper: {
  '^@app/components/(.*)$': '<rootDir>/src/path1/components/$1'
}