TypeScript各种文件扩展名解释?

TypeScript various file extensions explained?

在尝试进一步了解 TypeScript 时,所有文件扩展名之间的关系是什么?

我最初开始输入上述问题时心想有人会过来帮助我。然后我注意到一个 "answer your own question" 选项,我受到 Jeff Atwood's encouraging blog post 的启发 - 所以我决定我应该尝试回答我自己的问题。我不得不做一些研究,但现在我有了最初想要的理解。


  • 打字稿,*.ts

JavaScript 的类型化超集,"compiles" 到 JavaScript。这些文件有可能使用 type-safetystrongly-typed 语法,IDE智能感知。

  • 定义,*.d.ts

*.d.ts 文件用于提供有关 APITypeScript 类型信息,该文件用 JavaScript。类型定义文件包含对应 .js 中所有 public APIs 的定义类型,例如 - JQueryjQuery.js 没有 jQuery.d.ts 一个 TypeScript 文件使用 jQuery 将不知道它的类型,因此智能感知消失了。

  • 地图,*.map

A .map 文件是一个源映射文件,它让工具 "map" 在发出的 JavaScript 代码和 TypeScript 创建它的源文件。这个概念从 CoffeeScript.

开始就存在了
  • JavaScript、*.js

根据MDN

JavaScript is a cross-platform, object-oriented scripting language. It is a small and lightweight language. Inside a host environment (for example, a web browser), JavaScript can be connected to the objects of its environment to provide programmatic control over them.

.ts 文件和 .js 文件之间的关系是 TypeScript 文件编译为 JavaScript 文件.