我為什么要使用Webpack?

簡單講講我與前端的故事吧驻售。

剛接觸前端時(shí)露久,所有靜態(tài)資源CSS、圖片和JS都是手動(dòng)引入HTML頁面中欺栗,這并沒有什么不好毫痕,想要什么就引入什么嘛。另外迟几,所見即所得消请,開發(fā)好的項(xiàng)目文件直接就可以上傳服務(wù)器,很方便类腮,因此這樣的開發(fā)方式一直持續(xù)到前不久臊泰,也就是開始正式使用Webpack之前。

漸漸地蚜枢,我開始感覺到j(luò)Query雖然很好用缸逃,但是維護(hù)起來不是很方便针饥,就是所謂的開發(fā)一時(shí)爽,維護(hù)起來真要命需频。雜亂無章的代碼混在一個(gè)文件中丁眼,想要尋找某個(gè)功能的代碼很是困難,要是分開成多個(gè)文件引入昭殉,又會(huì)造成HTTP請(qǐng)求數(shù)過多的問題苞七。

于是,我后來選擇了Vue挪丢。

使用Vue之后的一個(gè)好處就是莽鸭,我不再需要手動(dòng)去操作DOM了,直接可以將JS變量放到HTML頁面中吃靠,數(shù)據(jù)會(huì)自動(dòng)綁定硫眨,這對(duì)于開發(fā)者來說非常方便,我們只需要把重點(diǎn)放到對(duì)數(shù)據(jù)的處理上就可以了巢块,這樣代碼也精簡了很多礁阁。

再后來,我發(fā)現(xiàn)有些代碼在很多地方都要用到族奢,同一個(gè)項(xiàng)目中姥闭,JS我可以通過定義方法來復(fù)用,CSS可以通過定義類名來復(fù)用越走,可是對(duì)于HTML棚品,我卻無能為力,只能通過復(fù)制粘貼的方式……

所以廊敌,我選擇了Vue組件铜跑。

但是問題接著又來了,我發(fā)現(xiàn)Vue組件雖然解決了HTML的復(fù)用問題骡澈,但實(shí)際上只不過是將HTML和JS組合在了一起锅纺,CSS依然游離在外,在同一項(xiàng)目中確實(shí)都實(shí)現(xiàn)了復(fù)用肋殴,但是當(dāng)其他項(xiàng)目要使用它時(shí)囤锉,還得把游離在外的CSS代碼復(fù)制粘貼過去,這樣久而久之自然也是難以忍受了护锤。

幸運(yùn)的是官地,單文件的Vue組件正好解決了這個(gè)問題。我們可以將HTML烙懦、CSS和JavaScript代碼放在同一個(gè).vue文件當(dāng)中驱入,強(qiáng)大的Webpack可以將這些代碼分離出來,并分別與其他同類型的代碼打包到一起。而我們不需要管Webpack內(nèi)部是如何運(yùn)作的沧侥,只需要知道單文件組件形式確實(shí)會(huì)為我們的工作帶來極大的便利性可霎。

在CSS方面魄鸦,習(xí)慣使用Less來寫CSS代碼的我宴杀,明顯體會(huì)到Less模塊化所帶來的便利性,一個(gè)Less文件可以通過引入其他多個(gè)Less文件拾因,最后只需將這一個(gè)Less文件所編譯成的CSS文件引入頁面即可旺罢。之前我使用的Less編譯工具一直都是koala,它是一個(gè)可視化的編譯軟件绢记,可以進(jìn)行Less代碼的編譯以及CSS和JS代碼的壓縮扁达。正因?yàn)長ess很好用,并且節(jié)省了HTTP請(qǐng)求數(shù)蠢熄,然后我就在想跪解,要是JS也能像Less一樣模塊化引入并且打包成一個(gè)JS文件就好了。

正因?yàn)橛兄M件化签孔、模塊化和單文件引入的強(qiáng)烈需求叉讥,我開始嘗試尋找著同時(shí)具備這些功能的打包工具,而在嘗試過Grunt饥追、Gulp图仓、Webpack和Parcel之后,最終我選擇了Webpack但绕。

那么救崔,為什么我會(huì)在這些工具中最終選擇Webpack呢?

首先捏顺,Grunt和Gulp只能將一些CSS和JS文件分別壓縮合并成單個(gè)文件六孵,當(dāng)然也具有一些編譯功能,比如Less和Sass的編譯幅骄、ES6到ES5的編譯等等狸臣。但是Webpack不僅具有它們所具備的這些編譯壓縮合并功能,同時(shí)還具備模塊化開發(fā)和組件式開發(fā)等優(yōu)點(diǎn)昌执,在目前流行的前端框架React和Vue中也得到很好的支持烛亦。

然后再說說Parcel,它一度被人認(rèn)為是未來最有可能替代Webpack的前端打包工具懂拾,主要原因是它幾乎零配置煤禽,而且打包入口也不僅僅只是JS,另外其打包速度也要比Webpack快岖赋。然而檬果,雖然Parcel相比Webpack似乎具有更多優(yōu)勢(shì),但它畢竟還不夠成熟,沒有Webpack龐大的社區(qū)选脊,一旦遇到問題很難在網(wǎng)上快速找到相應(yīng)解決辦法杭抠。并且最近Webpack 4.0已經(jīng)發(fā)布,配置相比之前簡化了一些恳啥,也增加了一些新功能偏灿,所以我們完全有理由相信Webpack在未來也會(huì)越來越好。

因此钝的,在經(jīng)過一番體驗(yàn)和對(duì)比之后翁垂,最終我選擇了Webpack。

最后總結(jié)一下Webpack的主要優(yōu)勢(shì):

① 模塊化開發(fā)(import硝桩,require)
② 預(yù)處理(Less沿猜,Sass,ES6碗脊,TypeScript……)
③ 主流框架腳手架支持(Vue啼肩,React,Angular)
④ 龐大的社區(qū)(資源豐富衙伶,降低學(xué)習(xí)成本)

初識(shí)Webpack祈坠,如有不對(duì)之處,歡迎指正痕支,也歡迎一起學(xué)習(xí)颁虐,一同進(jìn)步!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卧须,一起剝皮案震驚了整個(gè)濱河市另绩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌花嘶,老刑警劉巖笋籽,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異椭员,居然都是意外死亡车海,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門隘击,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侍芝,“玉大人,你說我怎么就攤上這事埋同≈莸” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵凶赁,是天一觀的道長咧栗。 經(jīng)常有香客問我逆甜,道長,這世上最難降的妖魔是什么致板? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任交煞,我火速辦了婚禮,結(jié)果婚禮上斟或,老公的妹妹穿的比我還像新娘素征。我一直安慰自己,他們只是感情好缕粹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布稚茅。 她就那樣靜靜地躺著纸淮,像睡著了一般平斩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咽块,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天绘面,我揣著相機(jī)與錄音,去河邊找鬼侈沪。 笑死揭璃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的亭罪。 我是一名探鬼主播瘦馍,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼应役!你這毒婦竟也來了情组?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤箩祥,失蹤者是張志新(化名)和其女友劉穎院崇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袍祖,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡底瓣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蕉陋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捐凭。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖凳鬓,靈堂內(nèi)的尸體忽然破棺而出茁肠,到底是詐尸還是另有隱情,我是刑警寧澤村视,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布官套,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏奶赔。R本人自食惡果不足惜惋嚎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望站刑。 院中可真熱鬧另伍,春花似錦、人聲如沸绞旅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽因悲。三九已至堕汞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晃琳,已是汗流浹背讯检。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卫旱,地道東北人人灼。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像顾翼,于是被迫代替她去往敵國和親投放。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

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