8

この概念は私にとって新しい概念です。YUI 依存関係コンフィギュレーターで最初に出会いました。基本的に、多くのファイルに対して複数のリクエストを行う代わりに、ファイルを 1 つの http リクエストにチェーンして、ページの読み込み時間を短縮します。

これをLAMPスタックに実装する方法を知っている人はいますか? (似たような質問が既に出ているのを見ましたが、ASP 固有のようです。

ありがとう!

更新: どちらの回答も役に立ちます... (私の担当者はまだコメントできるほど高くないので、ここにいくつかの別れの考えを追加します)。また、役立つかもしれない PHP 固有の例を含む別のブログ投稿も見つけました。しかし、デビッドのビルドの答えは、私に別のアプローチを考えさせています。ありがとう、デビッド!

4

4 に答える 4

9

さまざまな方法がありますが、最も明白な2つは次のとおりです。

  1. ファイルを静的として提供できるように、必要に応じて選択したコンポーネントに基づいて特注の一意のバージョンを構築する YUI のようなツールを構築します。MooTools と jQuery UI はすべて、パッケージをダウンロードするときにこのようなパッケージ ビルダーを提供し、可能な限り最も合理的で効率的なライブラリを提供します。一般的な万能ツールがそこに存在すると確信しています。
  2. リクエストに基づいて多数の JavaScript ファイルを提供する単純な Perl/PHP/Python/Ruby スクリプトを作成します。したがって、「onerequest.js?load=ui&load=effects」は、ファイルをロードして正しいコンテンツ タイプで提供する PHP スクリプトに移動します。これには多くの例がありますが、個人的にはファンではありません。

私はどのような種類のスクリプトでも静的ファイルを提供することは好みませんが、10 個の HTTP リクエストのコストをかけずに、10 個程度の小さなクラス ファイルを使用してコードを開発することも好みます。そこで、最も一般的なすべてのクラスと関数を組み合わせて、それらを project.min.js のような単一のファイルに縮小し、すべてのビュー/テンプレートにこのファイルを含む条件を本番環境に含めるカスタム ビルド プロセスを思いつきました。

編集 - 「カスタム ビルド プロセス」は、実際には非常に単純な perl スクリプトです。引数として渡した各ファイルを読み取り、それらを新しいファイルに書き込みます。オプションで、JSMIN (お気に入りのすべての言語で利用可能) を介してすべてを自動的に渡します。

コマンドでは次のようになります。

perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js
于 2008-09-19T13:46:40.297 に答える
5

この @ http://www.hunlock.com/blogs/Supercharged_Javascriptに良いブログ投稿があります。

于 2008-09-19T13:49:38.090 に答える
2

あなたが望むのはMinifyです。セットアップのチュートリアルを書きました。

于 2008-09-21T03:39:38.070 に答える
0

Capistrano は、かなり人気のある Ruby ベースの Web デプロイ ツールです。検討中または既に使用している場合は、CSS と Javascript の依存関係を把握し、ファイルをマージして縮小する優れた gem があります。

gem install juicer

Juicer GitHub ページから、相互に依存しているファイルを特定してそれらをマージし、ページ ビューごとの http 要求の数を減らしてパフォーマンスを向上させることができます。

于 2013-01-19T11:56:23.183 に答える