開源作品-PHP寫的JS和CSS檔案壓縮利器-SuMinify_PHP_1_5,_PHP教程

來源:互聯網
上載者:User

開源作品-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

http://www.bkjia.com/PHPjc/1018845.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1018845.htmlTechArticle開源作品-PHP寫的JS和CSS檔案壓縮利器-SuMinify_PHP_1_5, 前言: 網站項目需要引用外部檔案以減小載入流量,而且第一次載入外部資源檔後,...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.