PHPでClosure Compiler Service

php-closureの設定、JavaScriptの圧縮/最適化

JavaScriptを圧縮し最適化するサービス Closure Compiler Service を PHPでライブラリ化したものがphp-closure

php-closure.phpのダウンロード

php-closure - PHP Library for the Google Closure Compiler - Google Project Hostingからたどり、 php-closure.phpをダウンロード。

PHP

// ライブラリ読み込み require_once('php-closure.php'); $c = new PhpClosure(); // 圧縮対象のJSを指定 $c->add('js/foo.js') ->add('js/bar.js') ->add('js/baz.js') // デバッグを消す ->hideDebugInfo() // WHITESPACE_ONLY、SIMPLE_OPTIMIZATIONS、ADVANCED_OPTIMIZATIONSのいずれかを選択 //->whitespaceOnly() //->simpleMode() ->advancedMode() // キャッシュディレクトリ ->cacheDir('/tmp/js-cache/') ->write();

対象のJavaScript

$(function () { var index = 0; $('li').click(function() { if (index != $('li').index(this)) { index = $('li').index(this); // タブの内容 $('article').hide().eq(index).fadeIn('fast'); // タブ $('li').removeClass('selected').eq(index).addClass('selected'); } }); });

WHITESPACE_ONLY

$(function(){var index=0;$("li").click(function(){if(index!=$("li").index(this)){index=$("li").index(this);$("article").hide().eq(index).fadeIn("fast");$("li").removeClass("selected").eq(index).addClass("selected")}})});

SIMPLE_OPTIMIZATIONS

$(function(){var a=0;$("li").click(function(){a!=$("li").index(this)&&(a=$("li").index(this),$("article").hide().eq(a).fadeIn("fast"),$("li").removeClass("selected").eq(a).addClass("selected"))})});

ADVANCED_OPTIMIZATIONS

$(function(){var a=0;$("li").click(function(){a!=$("li").index(this)&&(a=$("li").index(this),$("article").d().a(a).c("fast"),$("li").e("selected").a(a).b("selected"))})});

ADVANCED_OPTIMIZATIONS(デバッグあり)

if(window.console&&window.console.log){ window.console.log('Closure Compiler Stats: ----------------------- Original Size: 454902 Original Gzip Size: 63104 Compressed Size: 171 Compressed Gzip Size: 127 Compile Time: 0 Generated: 2024/04/24 00:00:00 JST'); } $(function(){var a=0;$("li").click(function(){a!=$("li").index(this)&&(a=$("li").index(this),$("article").d().a(a).c("fast"),$("li").e("selected").a(a).b("selected"))})});

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について