2017-02-22 12 views
1

与えられたファイルTypescriptで変数をモジュールに入力する方法は?

パス\ Example.ts:

export module Example { 
    ... Stuff ... 
} 

とTest.ts:

import { Example } from "Path/Example"; 

let exampleMock = getExampleMock(); // getExampleMock returns an any that matches the type structure of Example 

let e = exampleMock as Example; // Errors: Cannot find name 'Example' 
let local = Example; // local is typed as Example; 
local = exampleMock ; // since exampleMock is an any, compiler allows this call. 

... use local with full typing of Example module 

モジュールに変数を入力するにはどのような方法があり、それを設定せず本当のモジュールを最初に?

+0

半関連してみてください:私は本当に可能な場合は、「内部モジュール」から離れることをお勧め。あなたのコードによると、あなたはすでに実際のモジュールを使用しているので、私はあなたのために可能であるべきだと思います... –

+0

@st_huck、あなたは私のTest.tsコードがモジュールにラップされていないことを意味しますか?私のExample.tsはモジュールをエクスポートしているので、外部モジュールが正しいでしょうか? – Daryl

+0

私はあなたのExample.tsで 'module'キーワードを使用する理由を理解できませんでした。たぶんそれは意図的なもので、そうでない場合はコメントしたいと思っています。 実際、example.tsは外部モジュールと見なされますが、エクスポートされるのは内部モジュールです。内部モジュールを使用する理由はありません。なぜなら、外部モジュールであるため、example.tsのすべてのローカル変数はファイルに対してプライベートであるからです。多分私はここに何かを見逃しているでしょうか? なぜ単純に 'export const Example = {...}'? –

答えて

3

let exampleMock = getExampleMock() as typeof Example; 
関連する問題