Webpack入門教程(1)

想必大家對(duì)webpack都不會(huì)太陌生,他作為一個(gè)模塊打包工具伴隨著前端開發(fā)的一步步強(qiáng)大起來也深入開發(fā)者開發(fā)過程的必備工具之中颁虐。前端開發(fā)與其他開發(fā)工作的主要區(qū)別首先是前端開發(fā)是基于多語言、多層次的編碼和組織工作,其次前端產(chǎn)品的交付是基于瀏覽器的,他們通過增量加載的方式運(yùn)行至瀏覽器溉贿,如何在開發(fā)過程中很好的阻止這些碎片化的代碼和資源,并且保證他們?cè)跒g覽器端快速的加載和更新浦旱,就需要一個(gè)模塊化的系統(tǒng)宇色,在這里webpack就扮演著這么一個(gè)角色。

webpack是一個(gè)模塊打包工具颁湖,它是根據(jù)模塊的依賴關(guān)系進(jìn)行靜態(tài)分析宣蠕,然后將這些模塊按照制定的規(guī)則生成對(duì)應(yīng)得靜態(tài)資源。


webpack簡易圖解

接下來就是對(duì)webpack的簡單介紹:

1爷狈、webpack解決的主要問題:將依賴樹拆分成按需加載的塊植影;初始化加載的耗時(shí)盡量少裳擎;各種靜態(tài)資源都可以視為模塊涎永;將第三方庫整合成模塊的能力;可以自定義打包邏輯的能力鹿响;適合大項(xiàng)目羡微。

2、webpack的特點(diǎn):

i惶我、代碼拆分:webpack有兩種組織代碼的形式分別是異步跟同步。異步依賴作為分割形成一個(gè)新的塊绸贡,再優(yōu)化了依賴樹之后,每一個(gè)異步模塊都作為一個(gè)文件被打包听怕。

ii、loader:原來webpack只能處理原生的js模塊尿瞭,但是loader轉(zhuǎn)換器的存在可以將各種類型的資源轉(zhuǎn)換成js模塊。這樣任何資源都可以成為webpack可以處理的模塊了声搁。

iii、智能解析:webpack可以將每一個(gè)第三方庫轉(zhuǎn)化為模塊進(jìn)行加載疏旨,不管他的模塊形式是CommonJS、AMD檐涝、還是普通的JS文件霞玄,并且在加載依賴的時(shí)候允許使用動(dòng)態(tài)表達(dá)式:require("./templates/" + name + ".jade")。

iv坷剧、插件系統(tǒng):webpack自己有一個(gè)強(qiáng)大的插件系統(tǒng),大多數(shù)的內(nèi)容功能都是基于這個(gè)插件系統(tǒng)運(yùn)行的喊暖,還可以開發(fā)和使用開源的webpack插件,來滿足各式各樣的需求陵叽。

v狞尔、快速運(yùn)行:webpack采用異步I/O和多級(jí)緩存提高運(yùn)行效率,這使得webpack能夠以令人難以置信的速遞快速增量編譯巩掺。

說了這么多關(guān)于webpack的介紹偏序,接下來我們就要開時(shí)學(xué)習(xí)這個(gè)強(qiáng)大的打包工具了。

首先進(jìn)行安裝我們一般都是采用npm來進(jìn)行安裝的胖替。


安裝命令行

這是在全局環(huán)境下進(jìn)行安裝研儒,安裝完成后可以用webpack -h來進(jìn)行測(cè)試是否安裝成功。

接下來我們就以一個(gè)小例子來看一下webpack的運(yùn)行與配置是怎樣的独令,在那之前我們需要先安裝一下環(huán)境依賴和webpack的一些常用插件端朵。

首先我們來一起創(chuàng)建一個(gè)webpack的學(xué)習(xí)文件夾然后進(jìn)入項(xiàng)目目錄,通過npm init 初始化來創(chuàng)建package.json接下來安裝webpack依賴:


創(chuàng)建文件夾并且初始化基本命令操作

如果大家比較懶下面的命令可以一直回車他也會(huì)自動(dòng)給你創(chuàng)建完成的文件內(nèi)容大概是這樣子:


package.json

接下來就是我們需要安裝的webpack依賴燃箭,以及指定版本的webpack:


安裝webpack依賴

指定版本webpack安裝命令:


安裝指定版本webopack

如果需要一些其他的webpack插件的話我們還可以這樣安裝冲呢,我們這個(gè)小例子中還用到webpack-dev-server所以我們就安裝一下:


webpack插件安裝命令行

這樣我們基本的依賴以及插件安裝已經(jīng)結(jié)束,接下來我們就需要做一些用來顯示在瀏覽器中的東西了招狸,首先一個(gè)大家熟的不能再熟的index.html代碼用來展示我們這個(gè)小例子的結(jié)果:


index.html

然后我們需要?jiǎng)?chuàng)建一個(gè)js文件用來執(zhí)行js代碼(entry.js):


entry.js

這樣我們就完成了這個(gè)基本的小例子敬拓,直接運(yùn)行然后打開index.html查看結(jié)果:


編譯命令行

接下來就是用瀏覽器打開查看瀏覽器的結(jié)果了:


index.html

這樣我們的第一個(gè)小例子就結(jié)束了,然后我們就可以乘勝追擊接著往下學(xué)習(xí)跟具有挑戰(zhàn)的東西了裙戏。

參考鏈接:webpack中文指南乘凸、webpack參考文檔

下期預(yù)告:模塊化引入、loader轉(zhuǎn)換器挽懦、配置文件詳細(xì)解析翰意,敬請(qǐng)期待!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末信柿,一起剝皮案震驚了整個(gè)濱河市冀偶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌渔嚷,老刑警劉巖进鸠,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異形病,居然都是意外死亡客年,警方通過查閱死者的電腦和手機(jī)霞幅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來量瓜,“玉大人司恳,你說我怎么就攤上這事∩馨粒” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵猎塞,是天一觀的道長杠纵。 經(jīng)常有香客問我,道長铝量,這世上最難降的妖魔是什么款违? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任群凶,我火速辦了婚禮请梢,結(jié)果婚禮上力穗,老公的妹妹穿的比我還像新娘。我一直安慰自己够坐,他們只是感情好崖面,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布巫员。 她就那樣靜靜地躺著,像睡著了一般赶掖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陪白,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天拷泽,我揣著相機(jī)與錄音袖瞻,去河邊找鬼。 笑死脂矫,一個(gè)胖子當(dāng)著我的面吹牛霉晕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拄轻,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼恨搓,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼筏养!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辉浦,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤宪郊,失蹤者是張志新(化名)和其女友劉穎弛槐,沒想到半個(gè)月后慕蔚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灌闺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年桂对,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逾柿。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡机错,死狀恐怖父腕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情萧诫,我是刑警寧澤枝嘶,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布群扶,位于F島的核電站,受9級(jí)特大地震影響提茁,放射性物質(zhì)發(fā)生泄漏馁菜。R本人自食惡果不足惜汪疮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一毁习、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盏道,春花似錦载碌、人聲如沸衅枫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽感凤。三九已至俊扭,卻和暖如春萨惑,著一層夾襖步出監(jiān)牢的瞬間庸蔼,已是汗流浹背姐仅。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敦锌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像腥刹,于是被迫代替她去往敵國和親衔峰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看葫男,也希望更多的人看到...
    小小字符閱讀 8,140評(píng)論 7 35
  • 最近在學(xué)習(xí) Webpack,網(wǎng)上大多數(shù)入門教程都是基于 Webpack 1.x 版本的,我學(xué)習(xí) Webpack 的...
    My_Oh_My閱讀 8,166評(píng)論 40 247
  • GitChat技術(shù)雜談 前言 本文較長旺遮,為了節(jié)省你的閱讀時(shí)間,在文前列寫作思路如下: 什么是 webpack耿眉,它要...
    蕭玄辭閱讀 12,674評(píng)論 7 110
  • 娃的奶奶有事回家了鸣剪,獨(dú)自帶娃第三天丈积,從被娃氣的狂化暴力,到現(xiàn)在各種看開江滨,個(gè)人覺得還是很有進(jìn)步滴。 首先早飯可以吃點(diǎn)...
    新藤閱讀 171評(píng)論 0 0
  • 又是一個(gè)周末告唆,問好多人周末怎樣度過晶密,好多人會(huì)說“好不容易到周末了,我要睡到自然醒懂牧,吃飽了睡连锯,睡飽了吃≡瞬溃”如果我們一...
    奔跑的宣宣閱讀 222評(píng)論 1 1