2016-04-18 13 views
0

私たちは大規模なemberアプリケーションを論理的な塊に分割し、パフォーマンスを向上させるためにモジュールのいくつかの読み込みを遅らせています。Typescript lazy load ember modules with requirejs

のエントリがあります。これにはすべての依存関係が再帰的に含まれ、ビルド処理中に1つの大きなrjs最適化ファイルが作成されます。最初のロード中にコアコンポーネントとルートをほとんどロードせず、他のすべてをロードする必要があります。

我々はimport文

をスキップする場合は、このガイド http://toranbillups.com/blog/archive/2014/10/02/Lazy-loading-es6-modules-with-emberjs/

に指定されている私たちの呼び出しルート内側と従属コントローラをロードするためにbeforeModelHookを使用し、テンプレート、コンポーネントを必要とする今、問題がある巣にしたいです

import mycontroller = require("mycontroller") 

とネストされた使用が必要と

beforeModel() { 
    require(["mycontroller"]) 
    ... 
} 

typescriptはコンパイル時にmycontrollerとして依存関係にありません。この問題を解決するには?

パフォーマンスを向上させる他の方法は何ですか?

答えて

1

typescriptは、コンパイル時にmycontrollerを依存関係として一覧表示できません。この問題を解決する方法

ファイルにインポートされたタイプを使用して、モジュールに実行時依存関係を持たせる必要があります。これは私が探していたまさにですhttps://basarat.gitbooks.io/typescript/content/docs/project/external-modules.html

+0

:これは、特に遅延ロードのシナリオ

ドキュメントこれは、ここで覆われている

をサポートするように設計されています。ありがとうございました – user103054