首頁  >  文章  >  後端開發  >  開源作品-PHP寫的JS和CSS檔案壓縮利器-SuMinify_PHP_1_5

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

WBOY
WBOY原創
2016-08-08 09:22:291246瀏覽

前言:

網站項目需要引用外部文件以減小加載流量,而且第一次加載外部資源文件後,其他同域名的頁面如果引用相同的地址,可以利用瀏覽器緩存直接讀取本地緩存資源文件,而不需要每個頁面都下載相同的外部資源檔案。外部資源文件有一些是第三方插件,有些是自己寫的業務功能腳本,項目引用這些外部文件,需要把沒有壓縮過的第三方插件壓縮後再引用,而自己的業務功能腳本,有的做成插件形式,引用一個功能腳本,需要同時引用若干個腳本文件,因此需要把這些腳本文件合併成一個壓縮文件再引用,這樣可以減少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. 運行本文件,生成成功後,就可以查看並使用您的成果了~

幫助: 

<span>$config</span> = <span>array</span><span>(
    </span><span>//</span><span> soui_v3a项目</span>    'soui_v3a' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\soui_v3a_config.php',
    <span>//</span><span> soui_v3b项目</span>    'soui_v3b' => <span>array</span><span>(
        </span>'js' => <span>array</span><span>(
            </span>'in-place-minify' => <span>array</span>(<span>//</span><span> 就地压缩js</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\superfish\superfish.js', <span>//</span><span> 就地生成superfish.min.js文件</span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\*', 'skips' => <span>array</span>('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')), <span>//</span><span> 整个目录就地压缩,跳过其中2个文件的压缩</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\min\jquery.easyui.min.js' => <span>array</span><span>(
                </span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\easyui\jquery.easyui.min.js', 'minify' => <span>false</span>), <span>//</span><span> 不用压缩,直接合并</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\easyui\locale\easyui-lang-zh_CN.js', <span>//</span><span> 压缩后合并</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\min\pages.min.js' => <span>array</span><span>(
                </span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\*'), <span>//</span><span> 将目录中所有文件压缩后合并</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\js-prototype-extension.js', <span>//</span><span> 压缩后合并</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Plugin\jquery-audioplayer-1.0\jquery-audioPlayer-1.0.js', <span>//</span><span> 压缩后合并</span><span>            )
        )</span>,
        'css' => <span>array</span><span>(
            </span>'in-place-minify' => <span>array</span>(<span>//</span><span> 就地压缩css</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\Pages\*', <span>//</span><span> 整个目录就地压缩</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\Default\easyui.min.css' => <span>array</span><span>(
                </span>'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\Default\easyui.css', <span>//</span><span> 压缩后合并</span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\icon.css', 'replaces' => <span>array</span>("'icons/" => "'../Icons/")), <span>//</span><span> 压缩后替换内容,然后合并</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\superfish\superfish.min.css' => <span>array</span><span>(
                </span>'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\superfish\superfish.css', <span>//</span><span> 就地压缩</span>            ),<span>        )
    )</span>,<span>);</span>

運行效果圖:

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

源碼:https://git.oschinaina.net/Mgit(MSujin

以上就介紹了開源作品-PHP寫的JS和CSS檔案壓縮利器-SuMinify_PHP_1_5,包含了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn