私は sprockets をjavascriptファイルを結合するために知っていますが、試していません。他のオプションとは何ですか?それらはどのように積み重ねられますか?
YUIを使用して出力を圧縮、連結、およびキャッシュするAsp.Netのハンドラーを作成しました。
ここにソースがあります: http://Gist.github.com/13091
別の質問でこの問題に既に対処しています
後から考えてみると、プログラマーサイトではなく、ウェブマスターに質問する必要がありました。
3つのオプションがあります:
オプション1(CakePHP拡張モジュールを使用):
サイトに AssetPacker をダウンロードしてインストールします(jsminとCSSTidyも必要です)。 jsファイルを含む数行のソースを変更します。洗浄->すすぎ->繰り返し。出来上がり、残りは自動的に行われます。
他のフレームワークを使用している場合、可能性としては、これを実現するツールがあります。 webdevの世界ではかなり一般的な要件です。
オプション2(Apache modを使用):
Apache用Google Pagespeed mod をご覧ください。それはあなたが説明するすべてを実行します。
ただし、運用サーバーのリソースを監視してください。一部の人々は、これが悪い方法でサーバーの負荷を増加させる問題を見てきました。私は肯定的ではありませんが、効果的なオプションとして十分な静的コンテンツ戦略が必要になる場合があります。
オプション3:
本当に必要な場合は、JSファイルサーバー側を連結し、すべてのリンクrelを1つに結合するいくつかのPHPマジックを作成できます。
個人的には、このオプションには強くお勧めします。
私が知る限り、SprocketsはAssetPackerと同じようにJSファイルを連結しますが、Ruby Gemとして実装されています。しないのは、jsコードを縮小することです。したがって、使用する場合は、おそらくjsmin gemも取得することをお勧めします。 CakePHPでSprockets + JSMinを使用する方法については、こちらをご覧ください 。
CakePHPに重点を置いていることは知っていますが、プラグインをCakePHPに適合させることができれば、それを別のフレームワークに適合させることも簡単なはずだと思います。
WebアプリケーションがPHPにある場合は、 minify の使用を検討する必要があります。
複数のCSSまたはJavascriptファイルを組み合わせて、不要な空白とコメントを削除し、gzipエンコーディングと最適なクライアント側キャッシュヘッダーを提供します。
グーグルで簡単に検索すると、CSSファイルを結合するためにこれが見つかります: http://www.tothepc.com/archives/combine-merge-multiple-css-files/
ASP.NETプロジェクトの場合、 Karl Seguinによる指示 に基づいて、ビルドプロセスの一部にしました。
カールは彼のブログで最もよく説明していますが、短いバージョンはYUICompressorをラップするコンソールアプリをセットアップすることです。次に、ビルド後タスクを設定して、サイトのJSファイルの場所に対してそのコンソールアプリを呼び出すことができます。
このためには、Pythonを知っていることが実際に役立つかもしれません。 Pythonをすぐに学ぶことができます。私は約2週間前に始めましたが、私の最初のアプリケーション(まだ終了していません)は、あなたが望むものとまったく同じことをします。 DotLessコンパイラと同様に、ファイルまたはディレクトリを監視する監視機能があり、それらが変更されると新しいファイルが生成されます。
Pythonは他のメンテナンスタスクにも最適であり、Pythonを使用するのが好きなシステム管理者をたくさん読んでいます。
Minifpy :Python3で作成されたツール(Mac OS、WindowsおよびLinux互換)は、Pythonを使用してJSとCSSファイルをマージおよび縮小します。
Minifpyは非常に簡単なJSON構成ファイルを使用して、マージするファイル、縮小するファイル、またはしないファイルを定義します。
{
"js": {
"minify_files": [
{"from": "static/file.js", "to":"static/file.min.js"},
],
"merge_files": [
{"from" : ["static/file1.js", "static/file2.js"], "to":"static/public.js", "to_min": "static/public.min.js"}
]
},
"css" : {
"minify_files": [
{"from": "static/file.css", "to":"static/file.min.css"},
],
"merge_files": [
{"from" : ["static/file1.css", "static/file2.css"], "to":"static/public.css", "to_min": "static/public.min.css"}
]
}
}
CLIでこのツールを使用することもできます。
MinifpyはJS/CSSファイルの変更を検出し、それらを自動的にマージ/縮小します(開発に役立ちます)。