UglifyJSをphpで使用する

javascriptファイルの圧縮を行うUglifyJSをphpで使いたかった時の備忘録。
結局UglifyJSはphpから使用できていないが、ピュアphpで書かれたUglifyJS.phpというプログラムがあったので利用させていただいた。
https://github.com/drify/UglifyJS.php
parse-js.phpとprocess.phpをダウンロードして読み込み、ドキュメントの通り使用した。

require ‘parse-js.php’;
require ‘process.php’;

$orig_code = ‘… JS code here’;
$ast = $parse($orig_code); // parse code and get the initial AST
$ast = $ast_mangle($ast); // get a new AST with mangled names
$ast = $ast_squeeze($ast); // get an AST with compression optimizations
$final_code = $strip_lines($gen_code($ast)); // compressed code here

requireは関数の中で宣言した。

ES6には対応していないらしく、アロー関数があった場合はエラーになった。
バッククォートでくくった文字列を作るテンプレートリテラル構文にも対応していなかった。
いずれはUglifyJSをそのまま使った方が良いが、とりあえずUglifyJS.phpは手間をかけずに導入はできた。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする