圧縮する前にCSSとJSを連結しますか?ツール?ベストプラクティス?
-
06-07-2019 - |
質問
私は1ページのサイトに取り組んでおり、そこには約12個の.jsファイルと、場合によっては半ダースの.cssファイルが組み込まれています。
.jsファイルのほとんどはjQueryプラグインです。 CSSファイルは、ベースのcssファイルとは別に、対応するjQueryプラグイン用です。
YUI Compressor は、CSSおよびJSファイルを圧縮するためのお気に入りのようです。ただし、個々のファイルのみを圧縮します。
また、ファイルを結合し、(理想的には)1つの.jsファイルと1つの.cssファイル(両方とも圧縮)になります。
.jsファイルと.cssファイルを1つのファイルに自動的に結合してYUIコンプレッサーで実行できるようにするツールがありますか?
解決 4
このオプションに出くわしました:
これは、ローカルバージョンの連結、YUI Compressor、およびDean Edward's Packerを組み合わせたバッチファイルです。
しかし、結局のところ、Packerをローカルで動作させることができませんでした。 .jsが破損し続けました。
そのため、その部分をスキップし、YUI CompressedコードをオンラインPackerで実行したところ、圧縮が1%だけ増加したので、Packerステージを省略しました。
最終的に、私のソリューションでは、上記のリンクされた手順と、少し変更されたバッチファイルを使用しました。
type .. \ js-in *> jb.js java -jar .. \ yui \ build \ yuicompressor-2.4.2.jar jb.js -o jb-yui.js
他のすべての(有効な)ソリューションにも感謝します。たくさんの良い情報!
他のヒント
PHPについて少し知っていれば、これが最良の方法であることがわかりました。 http://www.thedanglybits.com/2007/06/21/minify-your-external-javascript-and-css-with-php/
スプロケットをチェックアウトすることもできます( http://www.getsprockets.com/ )。
この質問は先日だけでした。ウェブを探し回るのに疲れた後、私はこのハック(Windowsバッチファイル)ソリューションを思いつきました。
@echo off
set TUNA_ROOT=C:\path\to\webroot
set YUI_COMPRESSOR_PATH=C:\path\to\yuicompressor-2.4.2\build
set TEMP_JS_FILE=%TUNA_ROOT%\scripts\all_scripts_temp.js
set OUTPUT_JS_FILE=%TUNA_ROOT%\scripts\tuna_min.js
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"
if exist "%OUTPUT_JS_FILE%" del "%OUTPUT_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
type "%TUNA_ROOT%\Scripts\MicrosoftMvcAjax.js" >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
echo. >> "%TEMP_JS_FILE%"
rem ...and so on...
java -jar "%YUI_COMPRESSOR_PATH%\yuicompressor-2.4.2.jar" -v --charset utf-8 -o "%OUTPUT_JS_FILE%" "%TEMP_JS_FILE%"
if exist "%TEMP_JS_FILE%" del "%TEMP_JS_FILE%"
しかし、もっと自動化された方法があれば、とても気に入っています。
JSとCSSファイルを圧縮するために、このサイトをほぼ独占的に使用しています:
http://www.lotterypost.com/js-compress.aspx
http://www.lotterypost.com/css-compress.aspx