2017-02-08 10 views
-1

typescriptの名前空間とモジュールを理解しようとしています。 この工assを使用している間、サンプルコードtypescript - typescriptで名前空間を使用中に名前が見つかりません

namespace ModuleOne.ModuleTwo.ModuleThree{ 
     export class SomeClass{ 
      constructor(){}; 
      someVariableOne:any; 
      someVariableTwo:any; 
      someFunction= function(){someFunctionCode}; 
     }; 
} 

を参照してくださいしかししてください。

ModuleOne.ModuleTwo.ModuleThree.SomeClass.someFunction(); 

は私が

Cannot find name 'ModuleOne' 

私が何か間違ったことをやっているか、私は従う必要があり、いくつかの他のアプローチがある場合は私に知らせてくださいと、このエラーを取得しています。

おかげ

答えて

1

あなたのコードでは、別のエラーがあります。

Property 'someFunction' does not exist on type 'typeof SomeClass'

your code in playground

理由はsomeFunctionは、静的メソッド、クラスインスタンスのプロパティであり、そしてないということです。
それは次のようになります。

let instance = new ModuleOne.ModuleTwo.ModuleThree.SomeClass(); 
instance.someFunction(); 

それとも、静的メソッドたい場合:これは私が得ているエラーではありません

namespace ModuleOne.ModuleTwo.ModuleThree{ 
     export class SomeClass{ 
      static someFunction() { } 

      constructor(){}; 
      someVariableOne:any; 
      someVariableTwo:any; 
     }; 
} 
+0

を、私も遊び場でそれを試してみました、私のいずれかを与えませんでしたエラー。私はVSコードを使用しています。しかし、のエラーを持つ名前を見つけることができません。 –

+0

まあ、私の答えの遊び場のリンクにはコンパイルエラーがあります。もちろん、質問のコードはあなたがコンパイルしようとしているコードでない限り。また、あなたはどのタイプのタイスクリプトを使用していますか? –

関連する問題