2013-04-24 11 views
5

いくつかの奇妙な理由のためにAngular JS has its own module system that is neither AMD nor CommonJSAngular JSの使用時にAMDモジュールをロードするにはどうすればよいですか?

私は多くの既存のモジュールをAMDフォーマットで使用しています。私は角度アプリでそれらを使用したいと思います。

私はAMDモジュールを書き換えないでください。可能であれば、Angular自身のモジュールシステムの使用を避けたいと思います。

Angularを使用する場合は、AMDモジュールを使用できますか? Angularのカスタムモジュールシステムを避けることは可能ですか?

+0

「回避する」が正しいアイデアであるかどうかはわかりません。私はあなたのAMDモジュールの使い方を尋ねているだけだと思います。古いAMDモジュールを使用する最良の方法は、ここでは本当の問題です。私は答えが分からない。私はこの質問に少し違ったやり方で来た。しかし、私はAngularのパターンを避けることをお勧めしません。しかし、私は他のプロジェクトで作られたAMDモジュールを消費する最善のアプローチについて非常に興味があると思います。他の答えは興味深いですが、私は彼らが本当にこの質問を正義したとは感じていません。 – vbullinger

答えて

2

Angularな方法で角を定義する必要があります(例えばangular.module( 'yourApp')。directive( 'someDirective'、...))。角度成分および非角度成分を角度に引き寄せるため。 this seed projectをチェックしてください。

2

Angularのモジュール定義をAMDの定義に置き換えることはできません。あなたは今AMDが定義している角度コードをラップする必要があります。

もう1つ注目すべきことは、現時点でモジュールを「遅延ロード」する方法がないことです。最終的には、メインモジュールモジュール定義でアプリケーションで使用するすべての角度モジュールを必要とするため、AMDを使用する利点は今のところ限られています。

デベロッパーチームは、今後のいくつかの時点でレイジーローディングをサポートするとしています。これが、現在AMDにファイルをラップする唯一の理由です。

+0

ありがとうございます。私のチームはまた、多種多様なアプリケーションで標準としてAMDを使用しているため、それらのモジュールを別のものに変換することなくそれらのモジュールをロードすることができるため、あまり一般的ではありません。 – mikemaccana

+0

今、角型開発者のためのベストプラクティスは何ですか? – FutuToad

+0

[oclazyload](https://oclazyload.readme.io/)でモジュールをロードできます –

関連する問題