程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 開源作品-PHP寫的JS和CSS文件壓縮利器-SuMinify_PHP_1_5,

開源作品-PHP寫的JS和CSS文件壓縮利器-SuMinify_PHP_1_5,

編輯:關於PHP編程

開源作品-PHP寫的JS和CSS文件壓縮利器-SuMinify_PHP_1_5,


前言:

網站項目需要引用外部文件以減小加載流量,而且第一次加載外部資源文件後,其他同域名的頁面如果引用相同的地址,可以利用浏覽器緩存直接讀取本地緩存資源文件,而不需要每個頁面都下載相同的外部資源文件。外部資源文件有一些是第三方插件,有一些是自己寫的業務功能腳本,項目引用這些外部文件,需要把沒有壓縮過的第三方插件壓縮後再引用,而自己的業務功能腳本,有的做成插件形式,引用一個功能腳本,需要同時引用若干個腳本文件,因此需要把這些腳本文件合並成一個壓縮文件再引用,這樣可以減少HTTP請求次數,減少這些外部資源文件的加載流量。
為了實現這些目標,自己原來的步驟是:在目標路徑新建.min.xxx文件 》 打開提供在線js/css壓縮服務的網站,把源碼復制進去在線壓縮,然後拷貝出來,粘帖到.min.xxx文件, 如果需要合並文件,則把多個文件的源碼復制,壓縮,粘帖到同一個.min.xxx文件。但是隨著項目的進展,功能越來越多,需要引用的文件也越來越多,每次改動一個外部源文件,都要折騰很多精力才能把.min.xxx文件更新好,特別是源文件分布在不同的目錄下,為了尋找這些目錄也是挺費心的。所以產生了做一個自動化壓縮合並的小程序的想法,只要運行這個程序,就能幫我把這些繁瑣的重復勞動完成。

 

簡介:
SuMinify_PHP是一個用於壓縮或合並網站項目中的js文件或css文件的單文件綠色版PHP程序,和phpinfo.php一樣可以方便放到項目中使用。
開發網站項目過程中,js文件經常是分布在各個不同的目錄中,如第三方插件、自己寫的插件等,一般會把多個Javascript插件壓縮後合並到一個文件中供項目引用,以減少http請求次數。
如果手工操作,每次插件改動的時候,都要花費很多精力來壓縮和合並文件,有了這個自動化程序,就可以把項目中的外部資源文件根據規則寫成一個自動化配置,然後每次改動文件後,只要運行SuMinify程序,就可以根據規則幫你把文件壓縮或合並到指定目錄,省去了費心費力的體力勞動,提高了工作效率~

特性:
1、單文件綠色版,無外部依賴,方便部署使用
2、支持多個項目快速切換
3、根據規則寫好配置文件,能根據配置文件自動從源碼路徑中讀取源碼並壓縮,輸出到到指定的.min壓縮文件
4、項目的規則配置文件能放再任意路徑中
5、合並不同目錄中的多個文件的內容到一個文件中
6、對整個目錄進行就地批量壓縮,比如目錄中有若干文件,則只要填好目錄路徑,就能自動遍歷目錄中的文件,並以每個文件名+.min.後綴的格式生成壓縮後的文件
7、將整個目錄的資源文件進行壓縮後,合並到一個指定路徑的.min文件中
8、整個目錄就地批量壓縮的時候,自動忽略.min文件,防止重復壓縮

使用:
1. 將SuMinify_PHP_1_5文件復制到您的項目中任意目錄(本文件為單文件綠色版,方便使用^_^).
2. 修改配置內容為適合您需要的規則.
3. 運行本文件,生成成功後,就可以查看並使用您的成果了~

幫助: 

$config = array(
    // soui_v3a項目
    'soui_v3a' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\soui_v3a_config.php',
    // soui_v3b項目
    'soui_v3b' => array(
        'js' => array(
            'in-place-minify' => array(// 就地壓縮js
                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\superfish\superfish.js', // 就地生成superfish.min.js文件
                array('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\*', 'skips' => array('F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\skip-me1.js', 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\skip-me2.js')), // 整個目錄就地壓縮,跳過其中2個文件的壓縮
            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\min\jquery.easyui.min.js' => array(
                array('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\easyui\jquery.easyui.min.js', 'minify' => false), // 不用壓縮,直接合並
                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\easyui\locale\easyui-lang-zh_CN.js', // 壓縮後合並
            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\min\pages.min.js' => array(
                array('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\*'), // 將目錄中所有文件壓縮後合並
                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\js-prototype-extension.js', // 壓縮後合並
                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Plugin\jquery-audioplayer-1.0\jquery-audioPlayer-1.0.js', // 壓縮後合並
            )
        ),
        'css' => array(
            'in-place-minify' => array(// 就地壓縮css
                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\Pages\*', // 整個目錄就地壓縮
            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\Default\easyui.min.css' => array(
                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\Default\easyui.css', // 壓縮後合並
                array('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\icon.css', 'replaces' => array("'icons/" => "'../Icons/")), // 壓縮後替換內容,然後合並
            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\superfish\superfish.min.css' => array(
                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\superfish\superfish.css', // 就地壓縮
            ),
        )
    ),
);

 

運行效果圖:

 

主頁:http://git.oschina.net/sutroon/SuMinify_PHP_1_5

源碼:https://git.oschina.net/sutroon/SuMinify_PHP_1_5.git

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved