从 TypeScript 调用 JavaScript 函数

4
什么是在TypeScript中导入和使用JavaScript代码的最佳方法?
我正在尝试在使用TypeScript编写的Angular 2组件中使用Bootstrap的modal.js等内容。
更新:
如建议所述,解决方案是为js文件创建一个类型声明d.ts文件,以转发我需要使用的内容,然后在运行时使用引用的js文件实现。
可惜没有更自动化的直接方式,但它完成了工作。对于许多常见的框架,这些d.ts类型声明都可以通过http://definitelytyped.org/tsd获取。我也不需要注释样式参考d.ts,因为它已经包含在我的编译ts文件中。
1个回答

5
你可以使用类型声明或编写自己的声明文件。看看这个项目:http://definitelytyped.org/tsd/
它为许多流行的库提供了类型定义。还有angular-ui-bootstrap的定义文件。
然后你可以像这样在Typescript中引用定义文件:
///<reference path="../typings/angular-ui-bootstrap/angular-ui-bootstrap.d.ts"/>

通常情况下,您需要引用一个库,然后在 TypeScript 中引用类型定义或提供自己的声明,例如:

declare function hex_md5(value: string): string;

如果您在之前的某个地方定义了JavaScript函数hex_md5,则可以按如下方式调用。

1
或者,不要使用 ///<reference ...,而是使用 tsconfig.json,并且不要 exclude 包含类型定义文件的 typings 目录;编译器会自动引用它们。 - Bruno Grieder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接