オンラインJavaScriptミニファイツールとUglifyJS、Terser、Google Closure Compilerとの比較| オンラインJavaScriptミニファイ | UglifyJS | より簡潔に | Google Closure Compiler |
|---|
| ミニファイエンジン: DigitalOceanのページでは、TerserのインタラクティブなWebインターフェースであると説明されているため、出力はTerserが生成するものであり、別のアルゴリズムによるものではありません。 | ミニファイエンジン: UglifyJSはJavaScriptのパーサー、マングラー、コンプレッサーです。TerserはES6+版(uglify-es)からフォークされたもので、両者はほぼ同じAPIとコマンドラインインターフェースを備えています。 | ミニファイエンジン: Terserは、DigitalOceanのページがラップしているエンジンです。直接使用すると、圧縮、変換、変換プロパティ、フォーマット、解析の各オプションが利用可能になります。 | ミニファイエンジン: Closure Compilerは、Javaベースの独立したコンパイラです。コードの短縮だけでなく、構文、変数参照、型をチェックし、JavaScriptでよくある落とし穴について警告を発します。 |
| 言語サポート: ページを支えるエンジンであるTerserは、ES6+コードのためのツールキットとして説明されている。 | 言語サポート: このプロジェクトは、JavaScriptとほとんどのECMAScript言語機能をサポートしていると述べている。より特殊な機能については、Babelなどのツールを使って事前にトランスパイルすることを推奨している。 | 言語サポート: TerserはES6+向けのツールキットとして説明されています。ecmaオプションを2015以上に設定することで、ES6+の出力変換が可能になります。 | 言語サポート: 型情報はコメント内の注釈で宣言することができ、コンパイラはそれをチェックに使用します。 |
| 最適化レベル: ページ本文には個々の設定項目は記載されていません。 | 最適化レベル: 動作は、コマンドラインまたは minify() API を介して、圧縮およびマングルオプションによって調整されます。 | 最適化レベル: 動作は、圧縮、変形、変形プロパティ、およびフォーマットオプションによって調整されます。 | 最適化レベル: --compilation_level フラグは、BUNDLE、WHITESPACE_ONLY、SIMPLE(デフォルト)、および ADVANCED を受け入れます。プロジェクトによると、コンパイラはすべてのソースコードを一度に受け取ることで最大の効果を発揮するため、ADVANCED が有効になり、ADVANCED 以外のモードは非推奨となっています。 |
| 設置と自動化: インストールは不要です。コードはブラウザに直接入力します。このページには、ビルドパイプラインでの使用方法に関する説明は一切ありません。 | 設置と自動化: 最新のNode.jsとともに、npmを使用してインストールします。コマンドラインで使用する場合はグローバルに、プログラムで使用する場合はローカルにインストールします。 | 設置と自動化: npmを使用して、グローバルまたはローカルにインストールできます。APIは、非同期のminify()関数とminify_sync()関数を提供します。 | 設置と自動化: npm(Googleではなく第三者によって管理されているパッケージ)経由で入手できるほか、Mavenでプリコンパイルされたリリース版、またはソースコードからビルドすることも可能です。ソースコードからのビルドには、Java 21以降、Node.js、Git、およびBazeliskが必要です。 |
| ソースマップ: ソースマップは、コマンドラインで --source-map オプションを使用するか、minify() 関数の sourceMap オプションを使用することで有効になります。これには、入力ソースマップとの合成も含まれます。 | ソースマップ: ソースマップは、--source-map または sourceMap オプションで有効になります。オプションには、ファイル名、URL、ルート、コンテンツ、includeSources が含まれ、API は結果マップを result.map に返します。 | |