SpringBoot使用yuicompressor-maven-plugin壓縮JS和CSS文件

概述

??本文章為2019年第一篇文章晕拆,由于2018年比較繁忙萝风,加上一些瑣碎的事情嘀掸,沒有怎么更新文章,今天抽出一些時(shí)間來寫一篇實(shí)用性的文章规惰,幫助大家睬塌,總結(jié)自己,讓我們共同成長歇万。
  由于自己之前一直編寫app后臺(tái)揩晴,沒有怎么接觸過web應(yīng)用,2018年開始逐漸接觸web應(yīng)用贪磺,目前比較流行的web后臺(tái)開發(fā)模式為前后端分離模式硫兰,出現(xiàn)了很多優(yōu)秀的前端框架,但是在很多小公司并不是很時(shí)髦寒锚,依然還是JSP劫映、JSJQUERY一把梭的時(shí)代刹前,考慮到公司開發(fā)成本和人員學(xué)習(xí)成本及一些因素影響無法使用最新最時(shí)髦的方式泳赋,傳統(tǒng)模式開發(fā)的項(xiàng)目速度上不如前后端分離開發(fā)速度快,且前端性能上也存在很多瓶頸喇喉,比如網(wǎng)頁加載速度過慢祖今,就一個(gè)慢其實(shí)已經(jīng)毀所有了....
  既然web網(wǎng)頁加載速度慢了,就要來尋找慢的主要原因,進(jìn)行優(yōu)化千诬,經(jīng)過分析發(fā)現(xiàn)前端腳本文件和樣式文件大小在一定程度上決定了加載速度撒踪,于是開始對前端文件進(jìn)行優(yōu)化,方式就是壓縮大渤,壓縮就要存在一個(gè)問題制妄,那就是前端腳本和樣式文件少還比較好解決,找個(gè)壓縮網(wǎng)站泵三,把源碼放上去一個(gè)個(gè)壓縮耕捞,然后放入.min.js文件,更改引用路徑烫幕,可問題是如果腳本和樣式文件太多了呢俺抽?那這就難辦了~,但是聰明的人總是會(huì)有聰明的解決方式较曼,如果我們有一個(gè)插件或者工具幫助我們自動(dòng)進(jìn)行轉(zhuǎn)換呢磷斧,前端開發(fā)確實(shí)有很多優(yōu)秀的壓縮工具,但是捷犹,畢竟不是專業(yè)前端弛饭,搞不來,那只有看看在后端有沒有解決方案了萍歉,答案是當(dāng)然有了侣颂,接下來就輪到我們的主角上場了,它就是來自于雅虎的YUI Compressor

YUI Compressor

YUI CompressorJava編寫的是一個(gè)JavaScript壓縮器枪孩,除了刪除注釋和空格外憔晒,還使用盡可能小的變量名來模糊局部變量。這種混淆是安全的蔑舞,即使使用諸如evalwith之類的結(jié)構(gòu)(盡管在那些情況下壓縮不是最佳的)與jsmin相比拒担,平均節(jié)省約20%YUI Compressor還能夠安全地壓縮CSS文件攻询。

項(xiàng)目主頁:https://yui.github.io/yuicompressor
github地址:https://github.com/yui/yuicompressor

yuicompressor-maven-plugin

yuicompressor-maven-plugin是基于YUI Compressor 封裝的maven plugin从撼,使用它可以結(jié)合到我們的項(xiàng)目,來方便我們對項(xiàng)目js蜕窿、和css進(jìn)行壓縮谋逻。

項(xiàng)目主頁:https://davidb.github.io/yuicompressor-maven-plugin/

配置使用

yuicompressor-maven-plugin添加至maven項(xiàng)目pom.xml文件中,并根據(jù)自己的需求進(jìn)行配置

<plugin>
    <!-- YUI Compressor Maven壓縮插件 -->
    <groupId>net.alchim31.maven</groupId>
    <artifactId>yuicompressor-maven-plugin</artifactId>
    <version>1.5.1</version>
    <executions>
        <execution>
            <goals>
                <goal>compress</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <!-- 讀取js,css文件采用UTF-8編碼 -->
        <encoding>UTF-8</encoding>
        <!-- 不顯示js可能的錯(cuò)誤 -->
        <jswarn>false</jswarn>
        <!-- 若存在已壓縮的文件桐经,會(huì)先對比源文件是否有改動(dòng)  有改動(dòng)便壓縮毁兆,無改動(dòng)就不壓縮 -->
        <force>false</force>
        <!-- 在指定的列號(hào)后插入新行 -->
        <linebreakpos>-1</linebreakpos>
        <!-- 壓縮之前先執(zhí)行聚合文件操作 -->
        <preProcessAggregates>true</preProcessAggregates>
        <!-- 壓縮后保存文件后綴 無后綴 -->
        <nosuffix>true</nosuffix>
        <!-- 源目錄,即需壓縮的根目錄 -->
        <sourceDirectory>src/main/static</sourceDirectory>
        <!-- 輸出目錄阴挣,即壓縮后的目錄-->
        <outputDirectory>target/classes</outputDirectory>
        <force>true</force>
        <!-- 壓縮js和css文件 -->
        <includes>
            <include>**/*.js</include>
            <include>**/*.css</include>
        </includes>
        <!-- 以下目錄和文件不會(huì)被壓縮 -->
        <excludes>
            <exclude>**/*.min.js</exclude>
            <exclude>**/*.min.css</exclude>
        </excludes>
    </configuration>
</plugin>

執(zhí)行install命令气堕,將在控制臺(tái)看到如下輸出:

我們打開target目錄,可以看到項(xiàng)目靜態(tài)目錄下壓縮后的文件,點(diǎn)開查看茎芭,文件內(nèi)容被壓縮揖膜。

壓縮后的文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市梅桩,隨后出現(xiàn)的幾起案子壹粟,更是在濱河造成了極大的恐慌,老刑警劉巖宿百,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趁仙,死亡現(xiàn)場離奇詭異,居然都是意外死亡垦页,警方通過查閱死者的電腦和手機(jī)雀费,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痊焊,“玉大人盏袄,你說我怎么就攤上這事”∩叮” “怎么了辕羽?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長罪佳。 經(jīng)常有香客問我逛漫,道長,這世上最難降的妖魔是什么赘艳? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮克握,結(jié)果婚禮上蕾管,老公的妹妹穿的比我還像新娘。我一直安慰自己菩暗,他們只是感情好掰曾,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著停团,像睡著了一般旷坦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上佑稠,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天秒梅,我揣著相機(jī)與錄音,去河邊找鬼舌胶。 笑死捆蜀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辆它,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼誊薄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了锰茉?” 一聲冷哼從身側(cè)響起呢蔫,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎飒筑,沒想到半個(gè)月后片吊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扬霜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年定鸟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片著瓶。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡联予,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出材原,到底是詐尸還是另有隱情沸久,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布余蟹,位于F島的核電站卷胯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏威酒。R本人自食惡果不足惜窑睁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葵孤。 院中可真熱鬧担钮,春花似錦、人聲如沸尤仍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宰啦。三九已至苏遥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赡模,已是汗流浹背田炭。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纺裁,地道東北人诫肠。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓司澎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親栋豫。 傳聞我的和親對象是個(gè)殘疾皇子挤安,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容