我有一个项目,其中有一个节点/表达式子项目和一个角度子项目。有一个基础tsconfig.json
,每个子项目都有一个(使用extends
扩展基础文件)。
/tsconfig.json
/src/client/tsconfig.json
/src/server/tsconfig.json
/test/client/tsconfig.json
/test/server/tsconfig.json
问题是我使用Jest(基于Jasmine)来测试服务器,而Angular也使用Jasmine进行测试。因此,有多个与Jasmine相关的软件包和@types/foo
软件包,它们相互冲突。因此,当我编译时会遇到很多错误,例如:
以下标识符的定义与另一个文件中的标识符冲突:...
我通过添加到子项目的tsconfig.json
文件中解决了这个问题:
types: [
"foo",
"bar",
"baz",
// ...DOZENS more
]
每次安装打字包时,我都必须记得将其添加到子项目中。它变得凌乱并且难以维护。
tsconfig.json
没有类似黑名单的excludeTypes
属性,这会使事情变得更容易(因此我可以在子项目中排除有问题的软件包)。
那么,处理这种情况的最佳方法是什么?有没有比我正在做的更好的方法,可以避免手动管理数十种打字?