从子项目的tsconfig.json中排除某些类型

时间:2019-02-22 08:16:13

标签: typescript

我有一个项目,其中有一个节点/表达式子项目和一个角度子项目。有一个基础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属性,这会使事情变得更容易(因此我可以在子项目中排除有问题的软件包)。

那么,处理这种情况的最佳方法是什么?有没有比我正在做的更好的方法,可以避免手动管理数十种打字?

0 个答案:

没有答案