.xml
、.css
、.html
、および.js
のすべてのコードを縮小するツールまたは方法( コードを圧縮 およびこの 質問 に類似)を探しています。 Ubuntuのターミナルを介してファイル。最終的にはプロセスのスクリプトをbashしますが、現時点では、テストするものを見つけたいだけです。ターミナルを介してこれらすべてのファイル形式を圧縮するために使用できるツールはありますか?
これはbestオプションではありませんが、おそらく最も簡単です。 YUIコンプレッサーは長い間、JavascriptとCSSに最適なコンプレッサーであると考えられていたため、他の縮小ツールよりも20〜40%改善されています。
その後、Uglify.JS(おそらくGruntが提案する)のような新しいプロジェクトに取って代わられましたが、Ubuntuで起動して実行するのはまだかなり簡単です。
Sudo apt-get install yui-compressor
それでおしまい。これでyui-compressor myfile.js
を実行できるようになりましたが、魔法はうまくいかず、Node/Grunt/Uglify + YUIスタックを適切にインストールするのと同じくらい便利です。
Nodeと glify-js でコマンドラインからjsを簡単に縮小できます:
npm install uglify-js -g
でuglify-jsをインストールします
uglifyjs app-test.js > app-test.min.js
を実行します
Cssの場合、 clean-css (おそらくnpmで最も安定したcssミニファイアー)
使用例:
cleancss -o public-min.css public.css
Htmlに関する限り、通常、ミニフィケーションは設定に時間をかけるだけの価値はありませんが、私は html-minifier を試してみましたが、これは素晴らしいツールです。
あなたが何をするにしても、あなたが提供しているものをgzipすることを確実にしてください。
使用 minify -他の提案とは異なり、このツールはより多くのファイルタイプを縮小します:
CSS text/css
HTM text/html
HTML text/html
JS text/javascript
JSON application/json
SVG image/svg+xml
XML text/xml
PHPファイルを縮小する理由はありません(ディスク領域が非常に限られており、そのすべてを使用したい場合を除く)。
目標を追加できる場合(何を達成したいのか、なぜですか)、誰かがより良い方法を示すかもしれません。
JSおよびCSSファイルは、実行時に縮小され、ほとんどのWebプロジェクトでキャッシュされます。ミニファイ( https://github.com/mrclay/minify )、これを正確に行うことができるphpの「ライブラリ」があります。 (ターミナルからphpで実行することもできます)
ただし、1つの大きなjavascriptファイルは、5つの小さなファイルよりも速くロードする必要はありません。この声明の理由と解決策が必要な場合は、 http://headjs.com/ をご覧ください。
情報源があなたと共にありますように...
Closure Compiler で良い結果が得られました。
Closure Compilerは、JavaScriptのダウンロードと実行を高速化するためのツールです。ソース言語からマシンコードにコンパイルする代わりに、JavaScriptからより良いJavaScriptにコンパイルします。 JavaScriptを解析し、分析し、デッドコードを削除して書き直し、残りを最小限に抑えます。また、構文、変数参照、および型をチェックし、一般的なJavaScriptの落とし穴について警告します。
Googleによって開発され、Javaで記述されています。 Debianベースのシステム用にclosure-compiler
としてパッケージ化されており、Ubuntuシステムに簡単にインストールできます。 GUIを使用しないため、より軽量のdefault-jre-headless
パッケージが必要です。
YUIコンプレッサーは低速ですが、結果のファイルサイズは(わずかに)小さくなります。また、他のプログラミング言語のコンパイラと同様に、有用な警告メッセージを出力します。
ドキュメント: はじめに
使用法:
closure-compiler --js input.js --js_output_file output.js
別のオプションは、Node.jsからnpx
コマンドを使用することです。 npx
は、明示的にインストールせずにNode.jsパッケージのコマンドを実行します。
# Minify JS
npx -p uglify-js uglifyjs -o app.min.js app.js common.js
# Minify CSS
npx clean-css-cli -o style.min.css css/bootstrap.css style.css
# Minify HTML
npx html-minifier index-2.html -o index.html --remove-comments --collapse-whitespace
# XML
npx pretty-data-cli --type xml --minify input.xml > input.min.xml