2016-09-25 1 views
1

official guide for declarationの例を厳密に守っています。Typescriptでは、グローバル変数を提供するjavascript libを消費する方法は?

宣言ファイルとライブラリを消費するグローバルライブラリ

// foo.js 
foo = 20; 

宣言ファイル

// foo.d.ts 
declare const let foo: number; 

// app.ts 
/// <reference path="./foo.d.ts" /> 
console.log(foo); 

エラーメッセージは次のとおりです。

名前 'foo'が見つかりません。 (2304)

私はsimilar questionに尋ねましたが、問題は解決しませんでした。 私は理論を知っており、すでに公式ガイドを読んでいます。しかし、公式ガイドは宣言ファイルを書く方法を教えていますが、宣言されたファイルをどのようにインポートするかについての例は提供していません。

上記の例が機能するようにコードを編集してもらえますか?

答えて

0

問題は、宣言ファイルで無効な構文が使用されていることです。 fooを読み取り専用変数として使用する場合は、次の構文を使用します。

declare const foo: number; 
+0

は機能しません。 app.tsをコンパイルすると、エラーメッセージは "fooが定義されていません" –

+0

私は問題がapp.tsにあると思います。正しくインポートしましたか? –

+0

はい、そのような種類のインポートが機能するはずです。両方のファイルは同じディレクトリに置く必要があります。副作用として、生成されたfoo.jsがあなたのものを上書きするため、foo.tsの名前を変更する必要があります。 – krontogiannis

関連する問題