私は活字体で大きな角度アプリを作成しようとしていると私は私のアプリは、以下のフォルダ構造とレイアウトさ欲しい:活字体のインポート構文
./App
--- コントローラ
--- --- HomeController.ts
--- --- SomeOtherController.ts
--- ディレクティブ
--- --- MyDirective.ts
--- app.ts
また、すべてのコントローラがMyApp.Controllers名前空間にあるように、名前空間/モジュールをレイアウトすることもできます。したがって、上記の例では、私はモジュール内の2つのコントローラを持っていると思います:
MyApp.Controllers.HomeController
MyApp.Controllers.SomeOtherController
私は、次の操作を行ってこれを設定:
にHomeControllerを。 TS:
export module MyApp.Controllers {
export class HomeController {
...
}
}
SomeOtherController.ts
export module MyApp.Controllers {
export class SomeOtherController {
...
}
}
今app.tsに、私は私のコントローラのすべてをインポートしたい、と私は問題に実行しているところ、これは、私が試してみてください。
import * as Controllers from './controllers/HomeController'
が、その後、私は持っているコントローラにアクセスするにはする:
Controllers.MyApp.Controllers
これは醜いです。また、他のファイルからコントローラを取得するにはどうしたらいいですか?理想的には、 "MyApp.Controllers"という名前空間内のすべてをインポートしたいと思い、コード内にMyApp.Controllersのプレフィックスを付けることなく使用することができました。
これは役に立ちます!ちょうど興味のために、 "輸出モジュール"の目的は何ですか?それはいつ使うべきですか? – Mikeb
本当にたくさんのクラス/インターフェースを1つのファイルにエクスポートする何らかの理由で、 'export module'や' export namespace'を使用することができます。しかし、そのような場合、私は個人的に2つのファイルを作成することを推奨します。もっと詳細な説明については、これを読むのは素晴らしいスレッドです:http://stackoverflow.com/questions/30357634/how-do-i-use-namespaces-with-typescript-external-modules – Amid