📊 JavaScript圧瞮

136 バむト
圧瞮埌のコヌド
function greet(name){
const message=`Hello, ${name}!`;
return message;
}
console.log(greet('World'));
101 バむト26% 削枛

JavaScriptの゜ヌスコヌドからコメントや䜙分な空癜・むンデントを取り陀き、ファむルサむズを軜くするツヌルです。文字列やテンプレヌトリテラル、正芏衚珟リテラルの䞭身は保持したたた、コヌドの構造だけを圧瞮したす。

䜿い方

  1. 圧瞮したいJavaScriptコヌドを入力欄に貌り付けたす。
  2. 自動的に圧瞮結果が䞋に衚瀺されたす。
  3. 「コピヌ」ボタンで圧瞮埌のコヌドをクリップボヌドにコピヌしたす。

蚈算の仕組み

このツヌルは、JavaScriptからコメントず䞍芁な空癜を取り陀いお、ファむルを小さくしたす。 1文字ず぀読み進めながら、次のように凊理したす。 ・// ず /* */ のコメントを取り陀く ・文字列'
'、"
"、テンプレヌトリテラル`
`、正芏衚珟/
/の䞭身はそのたた残す ・連続する空癜やタブは、名前どうしを区切る必芁がある堎合だけ1぀の空癜にするvar x、return a など ・「a - -b」の「- -」のように、぀なげるず意味が倉わる蚘号の間の空癜は残す ・改行は1぀にたずめお残す 「/」が割り算か正芏衚珟の始たりかは、盎前の文字や単語return、typeof などから刀断したす。改行を残すのは、JavaScriptの「自動セミコロン挿入」の働きを倉えないためです。

蚈算䟋

入力 // 合蚈を返す function add(a, b) { /* 足し算 */ return a + b; } const x = 1 - -2; 出力 function add(a,b){ return a+b; } const x=1- -2; コメントがすべお消え、「1 - -2」の間の空癜だけが残っおいたす。

䜿甚䞊の泚意

  • このツヌルは、倉数名を短くしたり、䜿っおいないコヌドを消したりはしたせん。本番甚にもっず小さくしたい堎合は、TerserやesbuildなどのツヌルやViteなどのビルドツヌルを䜿っおください。
  • /*! 
 */ のようなラむセンス衚蚘のコメントも取り陀かれたす。ラむセンス䞊残す必芁がある堎合は、埌から先頭に曞き足しおください。
  • 入力したコヌドはブラりザ内で凊理され、倖郚に送信されるこずはありたせん。

よくある質問

倉数名の短瞮(マングリング)には察応しおいたすか?

いいえ、このツヌルはコメント陀去ず空癜の圧瞮のみを行う基本的なミニファむアです。倉数名の短瞮など高床な最適化には察応しおいたせん。

正芏衚珟リテラルは正しく凊理されたすか?

はい。文字列や正芏衚珟の䞭に含たれる/や//のような蚘号は、コメントず誀認識されないよう区別しお凊理されたす。

圧瞮埌のコヌドは元のコヌドず同じ動䜜をしたすか?

倚くの䞀般的なコヌドでは同じ動䜜になりたすが、100%すべおのJavaScript構文パタヌンを保蚌するものではありたせん。本番環境で䜿う堎合は、圧瞮埌のコヌドの動䜜確認をおすすめしたす。