我注意到使用了///< reference path =" *。js">不起作用。我不明白为什么。
只是澄清一下:我知道d.ts文件,我知道通过创建它们来装饰js文件会增加什么价值 - 它们使我能够享受类型安全性,即使在使用外部库时也是如此。用打字稿写的。
我不明白为什么即使我愿意放弃类型安全,我仍然需要写一个d.ts文件。
例如,让我们假设我有一个我编写的大型JS文件,其中包含许多函数定义。这些函数具有名称和参数列表。 TS编译器无法自动声明'那些功能用途?这将是一个临时解决方案,但它将有助于迁移到TypeScript这么多!我是否有理由错过这是不可能的,或者它只是一个未实现的功能?
答案 0 :(得分:8)
传递JavaScript文件作为参考路径不会起作用,因为引用仅用于构建程序的类型信息,而JavaScript文件无法提供此类型信息(尽管如果将JavaScript代码放入.ts
文件,您可以找出推断类型的距离。
如果您不想进行类型检查,则不必编写.d.ts
文件...您只需告诉编译器您不想进行类型检查。例如,如果你想使用jQuery而不进行任何类型检查......
declare var $: any;
$("anything").whateverIsTypedWillBeAllowed("like this");
第一行说"我将使用名为$
的var,当我使用它时,我并不关心类型安全"。