私は大規模なangluarプロジェクトに取り組んでおり、スクリプトを遅延ロードする方法が明らかに必要です。
以前にrequire.jsを使用したことがあり、それは非常に優れていますが、問題は、ファイルを連結して縮小した後、150万のjsファイルを取得したことです。
だから私はちょうど遭遇しました OcLazyload そしてそれは有望に見えますが、requireとocLazyLoadの両方を使用する多くの例をウェブ上で見ました、なぜあなたが両方を使用したいかについて少し混乱しています。彼らは両方とも同じことをしていませんか?
OcLazyLoadとRequireJSの両方が必要です。これは、javascriptモジュールとangular内部モジュール)という2つの別個のモジュール概念を扱うためです。
最初のブートストラップの後、angularjsはディレクティブやコントローラーなどの新しいモジュールやコンポーネントを登録することを許可しなくなりました(少なくとも標準的な方法を使用していません)。
RequireJSはjavascriptファイルのみをロードしますが、この新しいコードに新しいangularモジュールとコンポーネントを登録しません
OcLazyLoadが行うことは、RequireJSなどのサードパーティのモジュールローダーを使用して追加のファイルをロードできるようにすることです。これは、遅延ロードされたコードの新しいモジュールとコンポーネントをangularに登録します。
要約すると、RequireJSのみを使用してコードを遅延ロードできますが、RequireJSのみを使用してangularモジュールおよびコンポーネントをロードすることはできません。ocLazyLoadによって実行されるこのような追加の作業が必要です。
OcLazyLoadでRequireJSを使用できますが、お勧めしません。人々が私にそれをするように頼み、統合が簡単だったので、それは可能です。 ocLazyLoadにはjs/css/templatesファイル用の独自のローダーが含まれており、angularモジュールだけでなく、あらゆる種類のファイルをロードできるため、RequireJSは必要ありません。
Angularモジュールを遅延ロードする場合は、それらをAngular(またはwait Angular 1.5それはあなたがそれをすることを可能にするでしょう)。
つまり、RequireJSをocLazyLoadと一緒に使用することも、ocLazyLoad(推奨)だけを使用することもできますが、RequireJSだけを使用することはできません。