PHPでJavaScriptを圧縮するライブラリ「JShrink」の利用方法
サイト内でJavaScriptを用いる場合、外部のライブラリやプラグインだと圧縮されたファイルをCDN呼び出しするが、自作のソースコードだと圧縮しないことが多い(後々編集する際に面倒なため)。そのためページを表示する際のみ圧縮できないか調べたところ「JShrink」ライブラリで実現できそう。以下に利用方法をメモ。
目次
JShrink
GitHub
https://github.com/tedious/JShrink
インストール
composerでインストールする場合
サーバにSSH接続し以下コマンドでインストールする。
composer require tedivm/jshrink
手動でインストールする場合
GitHubからMinifier.phpをダウンロードし、適当なディレクトリにアップロードする。今回はこちらの方法を取った。
利用方法
ソースコード
<?php require 'Minifer.php'; $js = 'test.js'; $minifiedCode = \JShrink\Minifier::minify(file_get_contents($js)); echo $minifiedCode;
結果
以下内容のtest.jsを圧縮したところ、
if( confirm ){
alert('ok');
}else{
alert('ng');
}
以下が出力された。
if(confirm){alert('ok');}else{alert('ng');}
所感
実運用について
実運用の際はページ表示の都度圧縮するのは無駄なので基本的にはキャッシュさせ、JSを編集した際は該当のキャッシュファイルを削除する形になりそう。
関連記事
-
-
phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法
CodeIgniterを勉強していた際に各種設定は「.env」というファイルに記 ...
-
-
PHPにて「php-ulid」ライブラリを用いてULIDを生成する方法
先日MySQLにてUUIDを発行するメモを書いたがUUID v1だと生成時間によ ...
-
-
PHPでダミー画像(プレースホルダー画像)を表示する「PHP-Dummy-Image-Generator」の利用方法
先日JavaScriptでダミー画像(プレースホルダー画像)を表示する「Hold ...
-
-
PHPで簡単にカレンダーを生成できるライブラリ「PHP Calendar」の利用方法
PHPでカレンダーを描写したいということがたまにある。今までバニラPHPで書いて ...
-
-
PHPのバリエーションライブラリ「Valitron」の導入及び利用方法
フォーム等の入力内容チェックをPHP側で行う際、現状は素のPHPで書いているけど ...