Typescript是否支持使用JavaScript库的现有项目?

vis*_*Net 12 typescript

我想在现有项目中开始使用TypeScript,但是我需要在TypeScript文件中使用许多共享的JavaScript库.有没有办法让TypeScript用项目相关的代码引用那些现有的JavaScript库?

我还尝试将现有的JavaScript库移植到TypeScript,并且我遇到了很多编译时错误.删除所有编译时错误很困难.为什么TypeScript不能仅使用Google Dart编译器等"抑制错误和警告"选项来引用这些JavaScript类?

bas*_*rat 10

这里有两种情况:

  1. 您正在从TypeScript调用JavaScript

在这方面,TypeScript的工作方式与谷歌闭包编译器非常相似.在使用之前,一切都需要声明.

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

declare var Foo: any;
Run Code Online (Sandbox Code Playgroud)

否则您将收到编译错误.

稍后您可以在此声明的基础上进行构建.对于第三方库,有大量资源可用于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 
Run Code Online (Sandbox Code Playgroud)


vis*_*Net 3

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

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