1

私は、私が取り組んでいる Web プロジェクトの大きなリリースを間近に控えており、javascript/css のパフォーマンスとバージョン管理についてますます考え始めています。これまでのところ、いくつかの高レベルのアイデアがあります。

  1. これを行うには、http ハンドラーを作成 (またはカスタマイズ) してください。これは明らかに、発生するオンザフライ IO を正当化するためにキャッシュも処理する必要があります。
  2. これらの手順を、デプロイ専用に実行されるカスタム msbuild スクリプトに追加します。

また、展開先のサーバーごとに構成ファイルを自動的に生成することも検討しています。これは、2 番目のアイデアに役立ちます。最初のアイデアで私が見た主な利点は、バージョン管理を動的に処理できることです (少なくとも、一番下の私のリンクの 1 つが言っていることですが、これが実際に機能することをまだ確信していません)。

とにかく、これらの問題のいずれかがすでに解決されているかどうかに興味があります。フィードバックをいただければ幸いです。ありがとう!

これまで見てきたいくつかのリソースは次のとおりです。

http://madskristensen.net/post/Combine-multiple-stylesheets-at-runtime.aspx http://madskristensen.net/post/Remove-whitespace-from-stylesheets-and-JavaScript-files.aspx http:// www.west-wind.com/WebLog/posts/413878.aspx http://svn.offwhite.net/trac/SmallSharpTools.Packer/wiki

4

4 に答える 4

3

これは、継続的インテグレーション ビルド プロセスの一部として行います。

すべての JS を以前にチェックされた反転と比較し、それぞれに変更があり、その JS ファイルで YUI Compressor を呼び出し、現在のリビジョン番号で出力に名前を付けます。そのファイルをリポジトリに追加し、その js ファイルの最新のリビジョン番号を持つように構成ファイルを変更します。次に、js ファイルをインポートするカスタム コントロールを作成します。このコントロールは、開発マシンで実行する場合は圧縮されていない js を使用し、デプロイされたセットアップで実行する場合は構成ファイルのリビジョン番号を含む圧縮ファイルを使用します。

于 2009-07-18T06:56:46.043 に答える
0

1) に加えて、Microsoft は、リソース ファイルを DLL に埋め込むためのサポートを組み込みました。プロジェクトが変更されて再コンパイルされると、これは常に更新されます。

問題は、キャッシュとファイル名を制御できないことです。デバッグするとき、すべてが "webresource.axd" という名前になっていると、どれをデバッグするかを選択するのが難しくなります。それは地獄でした。

他の人のやり方も読んでみたいです。

于 2009-07-18T01:16:44.817 に答える
0

個人的には、リクエストごとにこれを動的に実行することによるパフォーマンス コストを回避するために、むしろビルド プロセスの一部として実行します。適切なキャッシュを実装することでヒットを減らすことができると思いますが、なぜわざわざ... IIS は既にそれを処理できます (IIS 上で実行していない場合を除きます)。

一般的な推奨事項として、ブラウザーのレンダリングを高速化したい場合は、Steven Souders が話している内容も優れています。まだお持ちでない場合は、こちらをご覧ください。

于 2009-07-18T01:37:25.093 に答える
0

私のチームは最近、スクリプトを埋め込みリソースとして保持することをやめましたが、結果には非常に満足しています。はい、ハンドラーを使用してそれらを組み合わせて縮小することはできますが、特に別のドメインからそれらをホストしたい場合は、少し面倒です.

ここで行うことは、すべての制御スクリプト ファイルを分離しておき、ビルド プロセス中にjs-builderなどのツールを使用してそれらを結合および縮小することです。ツールから実際に 2 つのファイルを出力します。1 つはデバッグ用に単純に結合されたもので、もう 1 つは生産用に結合および縮小されたものです。

于 2009-07-18T02:07:15.257 に答える