勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでJavaScriptを圧縮するライブラリ「JShrink」の利用方法

  PHP

サイト内で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を編集した際は該当のキャッシュファイルを削除する形になりそう。

 - PHP

  関連記事

PHPでランダムなカラーコードを生成する「RandomColor.php」ライブラリの利用方法

PHPでランダムなカラーコードを生成したい。自作するとなると「0~9」「a~f」 ...

PHPで簡単にカレンダーを生成できるライブラリ「PHP Calendar」の利用方法

PHPでカレンダーを描写したいということがたまにある。今までバニラPHPで書いて ...

PHPでシンプルな英数字のCAPTCHAを「Gregwar / Captcha」ライブラリで実装する方法

PHPでシンプルなランダム英数字のCAPTCHAを実装したい。「Gregwar ...

PHPで「php-qrcode-detector-decoder」ライブラリを使用してQRコードをデコードする方法

PHPでQRコードの画像をデコードし、値を変数等に格納したい。何とかならないか調 ...

phpQueryを利用したjQueryライクなスクレイピング方法

phpQueryというライブラリを使用することでjQueryのセレクタ指定のよう ...