プロフェッショナル JS ミニファイア (Terser)
ViteやWebpackでも採用されているTerserエンジンを搭載したJS圧縮ツール。ES6+対応、変数難読化、デッドコード削除をブラウザ上で安全に実行します。
よくある問題
オンラインでES6 JavaScriptを圧縮するには?
コードを貼り付けるだけです。TerserエンジンはES6+構文をネイティブサポートしており、安全に最適化できます。
本番環境向けにJSからconsoleログを削除する方法は?
オプションで「Drop Console」を選択してください。圧縮時にすべてのconsole.*呼び出しが自動的に削除されます。
プロフェッショナル JS ミニファイア (Terser) とは?
TerserはJavaScriptミニファイ(圧縮)のゴールドスタンダードであり、Vite、Webpack、Next.jsなどで使用されています。単純な正規表現ベースの圧縮器とは異なり、Terserはコードを抽象構文木(AST)に解析し、定数畳み込みやデッドコード削除などの高度な最適化を可能にします。
プロフェッショナル JS ミニファイア (Terser) の使い方
コードを貼り付け、変数名を短縮する「難読化(Mangle)」やデバッグログをクリーンアップする「Console削除」などの最適化フラグを選択し、「最適化を実行」をクリックします。エンジンは、本番環境に適した高性能で圧縮されたコードを出力します。
使用例
入力例:
const secret = '123';
console.log(secret);
出力例(Mangle ON, Drop Console ON):
const a='123';活用例
1. 小規模プロジェクト向けの個別のJSアセットの圧縮。
2. 独自のロジックを難読化し、安易なリバースエンジニアリングを防止。
3. 本番リリース前のデバッグコード(console.log)の除去。
4. 特定のTerser構成がバンドルサイズにどのように影響するかを素早くテスト。
よくある質問
難読化(Mangle)は安全ですか?
はい。Mangleは変数を安全に1文字のアルファベットに書き換えてサイズを節約します。明示的に設定しない限り、グローバル変数の書き換えは避けるように設計されています。
ES6をサポートしていますか?
はい。このツールはアロー関数、クラス、async/awaitを含む現代的なJavaScript構文を完全にサポートしています。
なぜ単純な圧縮器ではなくTerserを使うべきなのですか?
Terserはロジックを深く分析し、到達不可能なコードを削除して変数スコープを最適化するため、より小さく高速なファイルを作成できます。