visual-studio - 在 Visual Studio 中禁用 TypeScript 文件自动发现

标签 visual-studio typescript

在 TS 版本 0.9 之前,Visual Studio 要求所有 TypeScript 文件通过 /// 引用它们的依赖项。 如果引用不正确或丢失,则会抛出错误。 从 v0.9 开始,这种行为发生了变化:现在 Visual Studio 自动发现所有可用的 TS 文件并且不会抛出任何错误(显然是因为它知道所有依赖项)。

我们遇到的问题是文件顺序。没有正确的 /// Visual Studio 会生成不正确的串联结果文件,然后导致 JS 错误。

例如,我们有类型 Foo 和 Boo。 Boo 使用 Foo。您会期望 Foo 在 Boo 之前声明,但实际上 Foo 的声明在 Boo 之后。

当然我们可以使用 /// 即使 VS 实际上不需要它并且构建过程也可以正常工作。但是由于 VS 在使用对所需文件的未引用时不会抛出任何错误,因此您永远不知道结果文件是否正确连接以及类型声明是否正确排序。

所以,我想知道是否有办法禁用此“自动发现”模式并接收未解析引用列表。或者我可以使用另一种解决方法吗?

顺便说一句,我们还尝试了 TS gulp 插件,它生成了正确连接的 JS 代码。不幸的是,它比内置的 VS TypeScript 慢得多(5-6 秒对 1-2 秒)。这就是我们回到 VS 的原因。

最佳答案

感谢一位 TS 开发人员找到了解决方案(供引用 check GitHub page)。 我必须说,如何解决这个问题完全不明显,如果没有 TS 开发人员,我什至不会认为 tsconfig.json可以以某种方式改变 Visual Studio 插件的行为(在 TS 网站和博客中都没有关于此的信息)。所以,再次感谢向我提供信息的 Mohamed Hegazy :)

如果你遇到和我一样的问题,你必须执行以下操作:

  1. 为 Visual Studio 安装 TS 1.8+
  2. 将 tsconfig.json 添加到带有 typescript 文件的根文件夹中
  3. 将对“入口文件”的引用添加到 tsconfig.json 的"file"部分(在我的例子中,我们要在此处添加 2 个文件;从这两个文件开始,我可以发现解决方案中的每个 TS 文件)
  4. 不要忘记添加对“.d.ts”的引用

关于visual-studio - 在 Visual Studio 中禁用 TypeScript 文件自动发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35137446/

相关文章:

c# - 什么是 C# 解决方案以及如何使用它?

visual-studio - 如果 Task Runner Explorer 任务失败,则取消构建

visual-studio - 在 Visual Studio 中调试如何工作?

angular - 我可以在 typescript 中将一个接口(interface)继承到另一个接口(interface)吗?如何访问继承接口(interface)中定义的属性?

angular - 如何使控制台中显示的错误引用有 Angular cli项目中的 typescript 源映射?

c++ - 当异常发生在国外源代码时,自创建的Minidump-File的Stacktrace无法正确使用

c++ - 如何将唯一随机整数插入链表?

typescript - 使用类转换器 : Nest js 序列化嵌套对象

typescript - 使用 TypeScript 的打包器

javascript - 检查常量类型而不加宽类型?