2012-12-06 22 views
9

JavaScriptファイルの関数を必要とするシンプルなTypeScript(ts)があります。どのようにjsファイルをtsファイルにインポートできますか?そのjsファイルをtsファイルで使用できるようにtsファイルを作成する必要がありますか?jsファイルをtypescriptファイルにロードする

答えて

22

最も簡単な方法は、あなたが使用しているだけでdeclare機能にある:

File1.js

function greet() { return "Hello!"; } 

File2.ts

declare function greet(): string; 

/* ... later ... */ 
var hi = greet(); 

場合あなたのシナリオはもっとcomですプレックス(すなわち、 File1.jsを参照する複数のファイル、またはFile2.jsを混乱させる多くの機能があるFile2.tsファイルを作成し、File2.tsからファイルを参照することができます。File2.ts:

File1。あなたはTSファイル内のJavaScriptファイルの///参照を追加した場合d.tsだけアーカイブの

function greet(): string; 

File2.ts

/// <reference path="File1.d.ts" /> 

/* ... later ... */ 
var hi = greet(); 
+0

こんにちはライアン、ありがとう!ただし、私が使用する1つのファイルには、数学ライブラリにメソッドが追加されています。 Math.uuid.jsファイルには3つのメソッドがあります。 Math.uuid()は文字列を返し、他の2つは... TSはこの "関数Math.uuid()を宣言します:文字列;" (明らかに)。これらの方法はどのように持っていくのですか?ありがとう! –

+2

見つけた!私はこのインターフェイスを宣言しました... インターフェイス数学{ uuid():string; } といいです。 –

+1

.jsファイルから* .d.tsファイルを自動的に生成する方法はありますか?ありがとう - dave –

2

、コンパイラがしようとしますすべてのコードを検証するJSファイルに入れて、巨大なエラーリストを投げます。 jQueryなどで試してみると、私の言いたいことが分かります。

+0

うん、私はそれを見てきました。私はvar $を宣言し、d.tsファイルをjqueryしていないプロジェクトにそのrefを含めません。 –

+0

これは、.d.tsファイルがないタイプのサポートを追加する最も簡単な方法です。定義ファイルに関する素晴らしい点は、Intellisenseを入手することです。 –

+0

https://github.com/borisyankov/DefinitelyTyped –

関連する問題