如何在许多Visual Studio(2013)项目中处理TypeScript类型定义?

How do I handle TypeScript type definitions across many Visual Studio (2013) projects?

本文关键字:处理 项目 TypeScript 类型 定义 2013 许多 Visual Studio      更新时间:2023-09-26

我开发了一个相当大的应用程序,由许多javascript项目(VS项目)组成。现在,我正在考虑将JS一步一步地转换为TypeScript。

我使用了许多外部库,如JQuery、Knockout Js等,并将它们的d.ts文件下载到其中一个项目中。我的每个项目都必须依次生成自己的d.ts文件。我在VS中找到了"生成源映射"设置,所以我得到了那个。

我意识到我很快就会有大量的d.ts文件,这些文件需要包含在几乎所有的项目中。我可以事先看到这将是一个大问题。我在谷歌上搜索了一下,但也许我搜索错了。我找不到一个好的方法。

在我看来,最好的解决方案是所有项目都从某种公共类型定义文件夹中获得它们的类型定义。这有可能吗?

首先,记住。ts文件(以下简称类型声明文件)仅用于JavaScript代码的类型定义。如果你用TypeScript写代码,就不会有声明文件。只有。ts。

在一个纯TypeScript项目中,你的代码通常都是用TypeScript编写的,唯一的类型声明文件就是第三方依赖文件,比如jquery.d。ts, bootstrap.d。ts等。

如果你的项目是纯TypeScript,我会管理所有这些类型声明文件只用NuGet。使用NuGet安装依赖项,并使用NuGet安装类型声明文件。NuGet可以管理整个解决方案的依赖项。

如果你的项目不是纯TypeScript的,也就是说,你一次一小块地转换它,并且你为你的JavaScript代码创建了类型声明文件,这些文件还没有移植到TypeScript,那么我建议你在一个文件中添加你的类型声明,并将该文件链接到所有需要它的项目中。这样你就有一个地方可以放置所有类型声明了。

另一个注意事项:源映射和。d。Ts文件之间没有任何关系。源映射是将TS代码行映射到JS代码行的JSON文件。如果你愿意的话,这可以有效地让你在浏览器中调试TypeScript。