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

Gil*_*ans 2 typescript

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

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

我不明白的是,即使我愿意放弃类型安全,我还是要写一个d.ts文件.

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

有没有理由我错过了这是不可能的,还是只是一个未实现的功能?

Fen*_*ton 8

将JavaScript文件作为引用路径传递将不起作用,因为引用仅用于构建程序的类型信息,并且JavaScript文件无法提供此类型信息(尽管如果将JavaScript代码放入.ts文件中,您将会找出你推断这些类型有多远).

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

declare var $: any;

$("anything").whateverIsTypedWillBeAllowed("like this");
Run Code Online (Sandbox Code Playgroud)

第一行说"我将使用一个名为var的字符$,当我使用它时我不关心类型安全性".

  • 试一试 - 如果你能让你的JavaScript至少在TypeScript文件中编译,你就可以在TypeScript编译器上打开'生成类型定义',你会得到一个免费的.d.ts文件. (3认同)