为什么类型脚本不支持引用javascript文件?

时间:2014-12-03 13:54:32

标签: typescript

我注意到使用了///< reference path =" *。js">不起作用。我不明白为什么。

只是澄清一下:我知道d.ts文件,我知道通过创建它们来装饰js文件会增加什么价值 - 它们使我能够享受类型安全性,即使在使用外部库时也是如此。用打字稿写的。

我不明白为什么即使我愿意放弃类型安全,我仍然需要写一个d.ts文件。

例如,让我们假设我有一个我编写的大型JS文件,其中包含许多函数定义。这些函数具有名称和参数列表。 TS编译器无法自动声明'那些功能用途?这将是一个临时解决方案,但它将有助于迁移到TypeScript这么多!

我是否有理由错过这是不可能的,或者它只是一个未实现的功能?

1 个答案:

答案 0 :(得分:8)

传递JavaScript文件作为参考路径不会起作用,因为引用仅用于构建程序的类型信息,而JavaScript文件无法提供此类型信息(尽管如果将JavaScript代码放入.ts文件,您可以找出推断类型的距离。

如果您不想进行类型检查,则不必编写.d.ts文件...您只需告诉编译器您不想进行类型检查。例如,如果你想使用jQuery而不进行任何类型检查......

declare var $: any;

$("anything").whateverIsTypedWillBeAllowed("like this");

第一行说"我将使用名为$的var,当我使用它时,我并不关心类型安全"。