ターミナルを介して実行できる縮小ツール


35

私はツールや縮小化への道(に似て探しています圧縮私のコードと、この問題の私のコードのスタック上の)すべての.xml.css.htmlおよび.jsUbuntuの端子からのファイル。最終的にはプロセスのスクリプトをbashしますが、現時点ではテストするものを見つけたいだけです。ターミナルを介してこれらすべてのファイル形式を圧縮するために使用できるツールはありますか?


2
次のようなものを試しましたかtar -czvf compressed.tar.gz *.xml *.css *.html *.php
roadmr

1
コード自体を圧縮したいと思っています。CSS縮小化のようなもの
DᴀʀᴛʜVᴀᴅᴇʀ

1
それから私はあなたが圧縮を要求していないと思う。通常のファイル(音楽/ビデオのような非メディア)の圧縮では、ほとんどロスレス圧縮のみを考慮しますが、空白(このデータを失う)を最小限に抑える方法を探しています。また、縮小は損失が大きいため、復元することはできません(元に戻せないため)。私にとって、これは「あなたが何を求めているのかわからない」ようにします。
gertvdijk

回答:


43

これは最良のオプションではありませんが、おそらく最も簡単な方法です。YUIコンプレッサーは長い間、JavascriptとCSSに最適なコンプレッサーであると考えられており、他の縮小ツールよりも20〜40%改善されています。

その後、Uglify.JS(おそらくGruntが提案する)のような新しいプロジェクトに取って代わられましたが、Ubuntuで起動して実行するのはまだかなり簡単です。

sudo apt-get install yui-compressor

それでおしまい。これで実行できるようにyui-compressor myfile.jsなりましたが、魔法のようになりますが、Node / Grunt / Uglify + YUIスタックを適切にインストールするのと同じくらいではありません。


15
jsまたはcssを使用するすべての人がnode.jsを使用したり、node.jsプロジェクトを実行しているわけではありません。gruntを使用する場合は、学習して構成するもう1つのフレームワークです。はい、うなり声はクールです。しかし、今日では、コーディングを開始する前に学習するのに十分です。そのため、node / gruntは必ずしも便利ではありません。:)私自身、yui-compressorの提案を試してみます。
ビルロスマス14

2
@BillRセンチメントには多少同意しますが、node.jsプロジェクトは持っていませんが、lesscやuglify.jsなどは仕事に最適なツールであるため、今でも使用しています。Gruntは自分のツールで置き換えたので使用しませんが、実際の作業ではNodeを避けるためだけに手を振ることはありません。業界にとどまるには、ベストプラクティスに遅れずについていく必要があります。
オリ

ノードの使用がベストプラクティスであると仮定しています。たぶんあなたの世界はみんなの世界ではありません。
ビルロスマス

2
あなたは私に5年を持っていますが、私はあなたのポイントが何であるか分かりません...あなたはまだ少しの「DHTML」とperl CGIスクリプトで静的HTML4を使用していますか?まだASPを使用していますか?または、より優れた技術が利用可能になったため、物事を切り替えましたか?これには2つの異なるポイントがあります。少しばかげている。再トレーニングが気に入らなくても構いませんが、more-cssNPMパッケージを使用してCSSを縮小することは、yui-compressorを使用するよりも邪魔になることに気づいています。そうではありません。これは、同じことをよりうまく行う単なる別のコマンドです。
オリ

1
このインストールでは、openjkdもインストールすることに注意してください。openjkdは、誰かがシステムに入れたくないものです。
本当に素敵

12

コマンドラインから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していることを確認してください。


1
uglify 直接でインストールすることができますsudo apt-get install node-uglify
Geryの

uglify-jsはJavascript専用であり、cssやその他のファイル用ではありません。
ホセ・ゴメス・

2
@Geryインストールしたい場合uglifyaptあなたもインストールする必要があるnode-legacyので、実行して、sudo apt install node-uglify node-legacy
mxdsp

cleancssCLIツールは現在clean-css-cliパッケージに含まれていることに注意してください。
jbg

7

minifyを使用-他の提案とは異なり、このツールはより多くのファイルタイプを縮小します。

CSS     text/css
HTM     text/html
HTML    text/html
JS      text/javascript
JSON    application/json
SVG     image/svg+xml
XML     text/xml

javascriptでは非常に貧弱な仕事をします。
フェデリコ

2

PHPファイルを縮小する理由はありません(ディスク領域が非常に限られており、そのすべてを使用したい場合を除く)。

目標を追加できる場合(何を達成したいのか、なぜですか)、誰かがより良い方法を示すかもしれません。

JSおよびCSSファイルは、実行時に縮小され、ほとんどのWebプロジェクトでキャッシュされます。これを正確に実行できるphp「ライブラリ」であるminify(https://github.com/mrclay/minify)があります。(ターミナルからphpで実行することもできます)

ただし、1つの大きなjavascriptファイルは、5つの小さなファイルよりも速くロードする必要はありません。この声明の理由と解決策が必要な場合は、http://headjs.com/をご覧ください

ソースがあなたと一緒にありますように...


1

Grunt.jsの使用をお勧めします。これは、プラグインとして利用可能なミニファイヤを備えた自動化ツールであり、Node.jsを介してターミナルで実行できます。サーバー側でコードが実行され、そのHTML出力のみがクライアントに送信されるため、PHPを縮小する必要はありません。

ここで利用可能なプラグインを見つけることができます


2
Gruntの選択は学習曲線を意味することに注意してください。
リック777

1

良い結果が得られました 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

クロージャーは、プロジェクトを開始し、オブジェクトを個別のファイルなどに拡張する場合に非常に便利です。しかし、既存のプロジェクトの場合、かなりひどいです。
アレクシスウィルク

-1

別のオプションはnpx、Node.jsからコマンドを使用することです。npxNode.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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.