3

requireJs optimizerr.js ( here ) を使用して、本番用のアプリケーションを準備する最初の試みを試みています。

私はすべてを機能させることができ、すべてのjsをmain.js1つのファイルに醜くすることができますが、1つのファイル、多くの質問...

基本的な質問:

  1. Javascript buildlayer requireJs が話していることは何ですか? 私の単一のファイル?

main.js現在、すべての依存関係を 1 つのファイル (jquery、jquery-mobile、およびアプリを開始するために必要なその他すべて) にバンドルする1 つのモジュールのみを最適化しました。

高度な質問:あるページで、 jqplot
で作成さ れたグラフを使用しているとします。これは、アプリの他の場所では必要のない xy 追加の JavaScript ファイルを使用します。

  1. これらのファイルが自分のファイルに表示されないようにするにはどうすればよいmain.built.jsですか?
  2. グラフを使用しているページで新しいモジュールを定義し、graphこのモジュールを最適化してxyファイルをgraph.built.jsに連結する必要がありますか?

非常に高度な:
私のページは、ガジェット (アプリケーション全体で再利用し、JSON を使用してカスタマイズできる HTML/JS/CSS の自律ブロック) で構成されています。

  1. プラグインを介してガジェットをロードする場合requireJS !text、HTML ファイルはどこで「最適化」され、大きな単一の HTML ファイルになりますか?
  2. 各ページに必要なガジェットのみをロードしたい場合、各ガジェットの依存関係を持つページごとにモジュールを作成し、必要なものだけが確実にロードされるように最適module index_page化する必要がありますか?module page_with_graph
  3. そうする場合、すべてのページとキャッシュでガジェットを再リクエストしますか?

いくつかの洞察を与えてくれてありがとう!

4

1 に答える 1

1

素晴らしいゲスト!

基本的な質問:

Javascript buildlayer requireJs が話していることは何ですか? 私の単一のファイル?

まず、buildlayer を「バンドル」と言い換えると、より客観的な意味があります。したがって、連結されたモジュールが設定されます。モジュールを1つのビルドに配置する場合、またはいくつかのページに指定されたビルドをビルドする場合はいくつかのモジュールを配置する場合は、単一にすることができます。

高度な質問:

これらのファイルが main.built.js ファイルに表示されないようにするにはどうすればよいですか?

まず第一に、これは私がブックマークに持っている非常に便利なリンクです - https://github.com/jrburke/r.js/blob/master/build/example.build.js

簡単に言うと、目標を達成するために、包含および除外ルールを管理するr.js構成のモジュールセクションを構成できます。

グラフを使用しているページで新しいモジュール グラフを定義し、このモジュールを最適化して xy ファイルを graph.built.js に連結する必要がありますか?

シムを使用して、他のモジュールでオンデマンドでリクエストすることができます

非常に高度な:

requireJS !text プラグインを介してガジェットをロードする場合、HTML ファイルはどこで「最適化」され、大きな単一の HTML ファイルになりますか?

いいえ、build.js になります。この結果、!text 経由でテンプレートをロードしました

各ページに必要なガジェットのみをロードしたい場合、各ガジェットの依存関係を持つページごとにモジュールを作成し、モジュール index_page、モジュール page_with_graph などを最適化して、必要なものだけが確実にロードされるようにする必要がありますか?

各ページに独自の buldle を作成できますが、これは最善の方法ではありません。同様の質問があったとき、2 つの理由から 1 つのバンドルを作成することにしました。バンドルをロードすること、CDN のキャッシュを制御しやすく、エラーやミスの可能性を減らすことです。ただし、個別のバンドルが必要な場合は、モジュールセクションに投稿されたリンクに従ってください。

そうする場合、キャッシュではなくすべてのページでガジェットを再リクエストします

したがって、ページをロードし、10 個のモジュールにdep1がある場合、依存関係ファイルは一度ロードされ (buld.js にない場合)、モジュールに挿入されます。ページファイルをリロードすると、ブラウザのキャッシュから取得されるか、ブラウザの設定に従って再度読み込まれる場合があります。

それが役立つことを願っています。

于 2014-01-31T07:53:07.677 に答える