http://uadmin.yunj.net.cn/admin
开拓文档:
https://www.kancloud.cn/worklz/yunj_admin_universal/2009454

鉴于该框架构建于ThinkPHP上,以是决定利用php结合uglify来实现js文件的批量压缩。
实现条件:需安装php和nodejs运行环境,及uglify-es(由于js涉及es6语法,方法:npm i uglify-es -g)
压缩效果及部分脚本源码截图如下:
创建脚本文件uglifyjs.php(源码放在文章末端)
利用方法:可在掌握台直接实行php uglifyjs.php来压缩所有指定的js文件,亦或指定压缩js文件数组中的某些文件,如压缩form.js利用:php uglifyjs.php form.js即可
脚本文件uglifyjs.php完全源码如下:
<?php// 文件处理function fileHandle($filename){ $newFilename=str_replace('.js','.min.js',$filename); exec("uglifyjs {$filename} -m -o {$newFilename}"); echo $filename."\n";}// js文件数组$path='public/static/yunj/js/';$arr1=glob("{$path}.js");$arr2=glob("{$path}/modules/.js");$arr3=glob("{$path}/modules/cols/templet/.js");$arr4=glob("{$path}/modules/field/.js");$arr5=glob("{$path}/modules/templet/.js");$filenameArr=array_merge($arr1,$arr2,$arr3,$arr4,$arr5);// 指定修正的文件名,如:php uglifyjs.php form.jsunset($argv[0]);$updateFilenameArr=$argv;foreach ($filenameArr as $filename) { // 判断是否压缩文件 if(strstr($filename,'.min.js')) continue; // 判断是否置顶修正文件名 if($updateFilenameArr){ $isUpdateFilename=false; foreach ($updateFilenameArr as $updateFilename){ if(!strstr($filename,$updateFilename)) continue; $isUpdateFilename=true; break; } if(!$isUpdateFilename) continue; } fileHandle($filename);}