私はツールや縮小化への道(に似て探しています圧縮私のコードと、この問題の私のコードのスタック上の)すべての.xml
、.css
、.html
および.js
Ubuntuの端子からのファイル。最終的にはプロセスのスクリプトをbashしますが、現時点ではテストするものを見つけたいだけです。ターミナルを介してこれらすべてのファイル形式を圧縮するために使用できるツールはありますか?
私はツールや縮小化への道(に似て探しています圧縮私のコードと、この問題の私のコードのスタック上の)すべての.xml
、.css
、.html
および.js
Ubuntuの端子からのファイル。最終的にはプロセスのスクリプトをbashしますが、現時点ではテストするものを見つけたいだけです。ターミナルを介してこれらすべてのファイル形式を圧縮するために使用できるツールはありますか?
回答:
これは最良のオプションではありませんが、おそらく最も簡単な方法です。YUIコンプレッサーは長い間、JavascriptとCSSに最適なコンプレッサーであると考えられており、他の縮小ツールよりも20〜40%改善されています。
その後、Uglify.JS(おそらくGruntが提案する)のような新しいプロジェクトに取って代わられましたが、Ubuntuで起動して実行するのはまだかなり簡単です。
sudo apt-get install yui-compressor
それでおしまい。これで実行できるようにyui-compressor myfile.js
なりましたが、魔法のようになりますが、Node / Grunt / Uglify + YUIスタックを適切にインストールするのと同じくらいではありません。
more-css
NPMパッケージを使用してCSSを縮小することは、yui-compressorを使用するよりも邪魔になることに気づいています。そうではありません。これは、同じことをよりうまく行う単なる別のコマンドです。
コマンドラインからnodeおよびuglify-jsを使用してjsを簡単に縮小できます。
でuglify-jsをインストール npm install uglify-js -g
それを実行します uglifyjs app-test.js > app-test.min.js
cssの場合、clean-css(おそらくnpmで最も安定したcssミニファイアー)の
使用例をお勧めします。
cleancss -o public-min.css public.css
htmlに関する限り、通常、ミニファイはセットアップに時間をかけるだけの価値はありませんが、html-minifierを試しましたが、これは素晴らしいツールです。
何をするにしても、あなたが提供しているものをgzipしていることを確認してください。
uglify
直接でインストールすることができますsudo apt-get install node-uglify
uglify
にapt
あなたもインストールする必要があるnode-legacy
ので、実行して、sudo apt install node-uglify node-legacy
cleancss
CLIツールは現在clean-css-cli
パッケージに含まれていることに注意してください。
PHPファイルを縮小する理由はありません(ディスク領域が非常に限られており、そのすべてを使用したい場合を除く)。
目標を追加できる場合(何を達成したいのか、なぜですか)、誰かがより良い方法を示すかもしれません。
JSおよびCSSファイルは、実行時に縮小され、ほとんどのWebプロジェクトでキャッシュされます。これを正確に実行できるphp「ライブラリ」であるminify(https://github.com/mrclay/minify)があります。(ターミナルから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
別のオプションはnpx
、Node.jsからコマンドを使用することです。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
tar -czvf compressed.tar.gz *.xml *.css *.html *.php
?