2013-05-31 91 views
12

我想開始在現有項目中使用TypeScript,但已經有一些共享JavaScript庫需要在TypeScript文件中使用。有沒有什麼辦法讓TypeScript引用那些現有的JavaScript庫和項目相關的代碼?Typescript支持JavaScript庫的現有項目嗎?

我也嘗試將現有的JavaScript庫移植到TypeScript中,並且我收到了很多編譯時錯誤。刪除所有編譯時錯誤是很困難的。爲什麼TypeScript不能像Google Dart編譯器那樣使用「抑制錯誤和警告」選項來引用這些JavaScript類?

回答

10

有兩種情況在這裏:

  1. 您從打字稿

調用JavaScript的在這方面的打字稿很像谷歌的關閉編譯器。在使用之前,所有東西都需要聲明。

因此,如果您有一個單獨的JavaScript文件,其中包含變量Foo(類,模塊,編號等),則需要告訴TypeScript。在最基本的情況下,您可以執行如下操作:

declare var Foo: any; 

否則您將收到編譯錯誤。

稍後,您可以基於此聲明進行構建。對於第三方庫有在https://github.com/DefinitelyTyped/DefinitelyTyped

提供了巨大的資源
  • 複製你的JavaScript爲打字稿
  • 可能給編譯錯誤另外一個事情是複製了你的JavaScript到您的TypeScript文件。這裏TypeScript將幫助你捕獲類型錯誤,如:

    var x = '123'; 
    var y = x.toPrecision(4); // Error x is string not a number