2016-07-21 21 views
0

という定義のbig.jsライブラリを使用しようとしています。Typescriptエラー「名前を見つけることができません」

さて、この行は動作します:

const CONSTANT_1 = new Big(0); 

このラインなくなり:

const CONSTANT_2 : Big = new Big(0); 

は、エラーが発生します。

error TS2304: Cannot find name 'Big'. 

問題は何?最初のものは、暗黙的として入力されているもので

+0

2番目のファイルで何をしようとしていますか? –

+0

あなたはそのライブラリをインポート/参照していますか? –

答えて

4

ルック:

BigJsLibrary.BigJS

問題

これが動作しないことを理由...

const CONSTANT_2: Big = new Big(0); 

。 ..が定義ファイルの変数として定義されているため、タイプではありません。

declare var Big: BigJsLibrary.BigJS; 

ソリューション

明示的なタイピングを使用したい場合、あなたはコンストラクタの作成した型を参照する必要があります...

const CONSTANT_2: BigJsLibrary.BigJS = new Big(0); 

...のようになりますここに定義ファイルがあります:

interface BigJS_Constructors { 
    new (value: number): BigJS; 
    // etc... 
} 
+0

それは動作しますが、奇妙に見えます。私のように '.d'tsを' Big'を使うように変更する方法はありますか? – Elena

+1

@Elenaこのステートメントを追加する 'type Big = BigJsLibrary.BigJS;' –

関連する問題