Javaスクリプト圧縮

GoogleのAPIで、Javaスクリプトを圧縮してくれるサービス「Closure Compiler」を使ってみました。

公式のドキュメントはこちらのページになります。

Closure Compiler

 

htmlのみでJavaスクリプトの圧縮ページを作成するサンプルもあります。

htmlでJavaスクリプトの圧縮

 

これを参考に、簡単なツールを作成してみました。

Javaスクリプト圧縮ツール

 

圧縮するには、指定のURLにパラメータをPOSTすることで行うことができます。

http://closure-compiler.appspot.com/compile

 

リクエストパラメータの種類は4つ

js_code または code_url

js_code Javaスクリプトのコードをそのまま送信
code_url JavaスクリプトのURLを指定

 

compilation_level

WHITESPACE_ONLY 余分な空白や改行、コメントを削除します。
SIMPLE_OPTIMIZATIONS ローカルの変数などを短くします。
ADVANCED_OPTIMIZATIONS 全体を解析し最高レベルの圧縮をします。

 

output_info

compiled_code 圧縮したJavaスクリプトを返却します。
warnings 警告情報を返却します。
errors エラー情報を返却します。
statistics 圧縮ステータスを返却します。

 

output_format

text テキスト形式で返却します。
json json形式で返却します。
xml xml形式で返却します。

 

htmlベースのサンプルを修正

htmlベースのサンプルを元に、圧縮されたコード以外に警告やエラーなども返却するように修正。

返却の形式もjson形式に変更してみました。

<html>
  <body>
    <form action="http://closure-compiler.appspot.com/compile" method="POST">
    <p>Type JavaScript code to optimize here:</p>
    <textarea name="js_code" cols="50" rows="5">
    function hello(name) {
      // Greets the user
      alert('Hello, ' + name);
    }
    hello('New user');
    </textarea>
    <input type="hidden" name="compilation_level" value="SIMPLE_OPTIMIZATIONS">
    <input type="hidden" name="output_format" value="json">
    <input type="hidden" name="output_info" value="compiled_code">
    <input type="hidden" name="output_info" value="warnings">
    <input type="hidden" name="output_info" value="errors">
    <input type="hidden" name="output_info" value="statistics">
    <br><br>
    <input type="submit" value="Optimize">
    </form>
  </body>
</html>

 

実際の処理内容を確認したければ・・・

GitHubにプロジェクトが公開されています。

google/closure-compiler

今のところライセンスは「Apache 2.0 License.」で公開されていますので、POSTして取得するのが良いかと思います。

By にど寝

もともと名古屋でシステムエンジニアをしてましたが、現在は地元に帰省してネットショップの社内システムエンジニアをしてます。  

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です