2012-12-10 13 views
6

に複数のファイルや負荷に最適化uglified等 美しく動作します。RequireJS - 私たちは、オプティマイザを使用する場合</p> <p>- - 私たちは一つのファイルにすべてのモジュールで終わるされている私たちは、約200モジュールを搭載した大規模な<strong>単一のページ</strong>のアプリケーションを持っているオンデマンド

私たちは、すべてのユーザーが200個のモジュールすべてを必要としないマルチテナントアプリケーションの一種です。

我々は、広く50個の共通モジュール、ユーザタイプが「A」とユーザタイプなど「B」のための50個のモジュール

すぐユーザタイプが「Bている場合であれば必要とされる100個のモジュールにモジュールを分割することができダウンロードした1つの最適化されたファイルには、決して使用されない100個のモジュールが含まれています。どういうわけかそれらを避けることができれば、ファイルサイズはそれほど大きくなく、実際にはパフォーマンスが向上します。

短く私はこれを探しています - モジュールのグループを持っています - モジュールのグループをそれ自身のファイルに最適化してください - 必要に応じてユーザーに基づいて対応するファイルをダウンロードしてください。

requireJSでこのような最適化を実行できますか?

おかげで、J.

答えて

0

あなたはアプリとほとんどのユーザーが表示されますものを開始するために必要なすべてのものをベースモジュールを構築することができます。 From the docs

オプティマイザのみ必要と コール、または必要とする(「名前」)を定義する最上位レベルに渡される文字列リテラルのアレイ で指定されたモジュールを結合します簡略化された文字列リテラルコール CommonJSラッピング。だから、それは 変数名

によってロードされたモジュール...

この動作にも最適化後のモジュールの動的ロードすることができますを見つけることができません。 includeオプションを使用して、 オプティマイザの静的解析によって見つからないモジュールを明示的に追加することは、常に可能です。あなたがそこに持っていけない

すべてのモジュール、お使いのモジュールで、次のように必要とされることがあります。

define(["require"], function(require) { 
     return function(b) { 
      var lib = 'lib' 
      var a = require(lib); 
      a.doSomething(b); 
     } 
    } 
); 

ので、彼らはあなたの最初の負荷の一部ではないことが、必要なときにロードされます。

+1

私の最初の読み込みの一部であるモジュールは1つのファイルにコミイブされ、そのファイルを読み込むHTTP要求は1つだけですが、最初の読み込みに含まれていないモジュールについては、これは私が最適化するために探している部分です。 –

+0

@joinhbkの解決方法は見つかりましたか?私は同じ問題を抱えています。 – luissquall

+0

@luissquall同じですが、解決策を見つけましたか? – Philip

0

シングルページアプリを2つの単一ページアプリに分割し、必要なドキュメントOptimizing a multi-page projectに記載されているように共通コードを共有する方がよいと思われます。

これは、ユーザータイプAとBのために共有されているものであれば、1つのHTTP要求でなければならず、ユーザータイプAまたはBに対して、そのモジュールタイプに固有のモジュールで別のHTTP要求があることを意味します。

関連する問題

 関連する問題