5

良い一日!

CSSファイルとJavaScriptファイルを組み合わせ、最小化し、gzipで圧縮するソリューションを探しています。それらは2つの形式で提供されるようです。

  • その場でファイルを処理するASP.NETハンドラー\モジュールの形式(キャッシュ結果付き)
  • VSビルドタスクの形式(ビルド中に処理を実行するため)

一般的に私はどちらでも大丈夫です。

私はいくつかの解決策を検討しました(そして私はこの記事http://www.codeproject.com/KB/aspnet/httpcompression.aspxのASP.NETハンドラーをたくさん使用しています)が、おそらく「必須」のものが出てきましたそして、私はそれを逃しました。

前もって感謝します!

4

3 に答える 3

6

これが私のアドバイスです。ビルドタスクを使用し、出力をHTTPキャッシュします。

ビルドタスクに関しては、プロジェクトファイル、MSBUILDファイル、またはNANTファイルにプラグインできるコマンドラインユーティリティを備えたお気に入りのJavaScriptミニファイア(私のお気に入りはGoogle Closure Minifier )を確認することをお勧めします。CSSについても同じです(私は個人的にYahoo! YUI Compressorを使用しています)。LESSを使用する場合は、これをYUIコンプレッサーと組み合わせることができます。画像を最適化するには、optipngを使用します。これらの人が個々のサイトでどのように機能するかについての指示があります。

これらのファイルをすべて適切に最適化したら、MVCのハンドラーまたはコントローラーアクションを使用して出力する必要があります。後続のリクエストが最初のリクエストでダウンロードされたファイルにデフォルト設定されるように有効期限を設定するには、これをコードで実行する必要があります。

Response.ExpiresAbsolute = DateTime.Now.AddYears(1);

コンテンツファイルを変更できるように、キャッシュバスター戦略が必要になる可能性があります。これを行うには、ランダムなパラメーターをハンドラーに渡します。これを行うにはいくつかの異なる方法があります...ただグーグルそれ。

お役に立てれば。

于 2011-01-11T00:27:07.447 に答える
2

Mothは、(とりわけ)すべてのjavascript/cssリクエストをその場で処理できます。Wiki:Javascriptを参照してください。

何よりも、部分的なビューで記述した部分を含め、すべてのJavaScriptをページの下部に配置することもできます。Wiki:インラインスクリプト

于 2011-08-29T17:53:20.450 に答える
2

中小規模のサイトにtelerikMVCコンポーネントを使用しています。NuGetを使用して追加および構成するのは簡単でした。

于 2011-01-10T21:59:35.997 に答える