首頁>技術>

雲靜Admin-通用後臺預覽:

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);}

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Python定義函式及預設引數相關介紹