12

我想在现有项目中开始使用 TypeScript,但我已经有许多共享的 JavaScript 库需要在 TypeScript 文件中使用。TypeScript 有什么方法可以引用那些带有项目相关代码的现有 JavaScript 库?

我还尝试将现有的 JavaScript 库移植到 TypeScript,但我遇到了很多编译时错误。很难消除所有编译时错误。为什么 TypeScript 不能只引用那些带有“抑制错误和警告”选项的 JavaScript 类,比如 Google Dart 编译器?

4

2 回答 2

10

这里有两种情况:

  1. 您正在从 TypeScript 调用 JavaScript

在这方面,TypeScript 的工作原理很像 google 闭包编译器。一切都需要先声明后才能使用。

因此,如果你有一个单独的 JavaScript 文件,其中包含一个变量 Foo(类、模块、数字等),你需要告诉 TypeScript。在最基本的情况下,您可以执行以下操作:

declare var Foo: any;

否则你会得到编译错误。

稍后您可以在此声明的基础上进行构建。对于第三方库,在https://github.com/DefinitelyTyped/DefinitelyTyped上有大量可用资源

  1. 将 JavaScript 复制到 TypeScript

可能导致编译错误的另一件事是将 JavaScript 复制到 TypeScript 文件中。在这里,TypeScript 将帮助您捕获类型错误,例如:

var x = '123';
var y = x.toPrecision(4); // Error x is string not a number 
于 2013-05-31T21:58:11.537 回答
3

谢谢你们的评论。我在下面的链接中得到了完美的答案

如何在现有 JavaScript 系统中慢慢迁移到/迁移到 TypeScript

于 2013-06-03T14:13:45.327 回答