Webpack框架核心概念(知識(shí)點(diǎn)整理)
webpack是什么
webpack是一個(gè)前端構(gòu)建的打包工具(并不是什么庫(kù)或框架), 它能把各種資源,例如JS(含JSX)、coffee、css(含less/sass)、圖片等都作為模塊來處理和使用。
1.基礎(chǔ)知識(shí)點(diǎn)
1.1 webpack 是一個(gè)現(xiàn)代 JavaScript 應(yīng)用程序的模塊打包器(module bundler)。當(dāng) webpack 處理應(yīng)用程序時(shí),它會(huì)遞歸地構(gòu)建一個(gè)依賴關(guān)系圖(dependency graph),其中包含應(yīng)用程序需要的每個(gè)模塊,然后將所有這些模塊打包成一個(gè)或多個(gè) bundle。
1.2webpack的四個(gè)核心概念:
1.2.1 entry(入口):entry point,入口起點(diǎn)(可以有多個(gè)),webpack會(huì)從該起點(diǎn)出發(fā),找出哪些文件時(shí)入口文件所依賴的,從而構(gòu)建內(nèi)部依賴關(guān)系圖,并處理后輸出到稱之為bundles的文件中
1.2.2 output(輸出):指定經(jīng)entry point處理后的bundles文件的輸出路徑(path)和名字(filename)
1.2.3 loader(加載器):用來處理非JS文件,可以將所有文件轉(zhuǎn)換成webpack可以處理的模塊,然后交給webpack進(jìn)行打包等處理;webpack loader 本質(zhì)上講是將所有類型的文件轉(zhuǎn)化為應(yīng)用程序的依賴圖可以直接引用的模塊,其有兩個(gè)目標(biāo):
1.2.3.1 使用test屬性,識(shí)別出對(duì)應(yīng)于 loader 的可轉(zhuǎn)換文件
1.2.3.2 使用use屬性將這些文件進(jìn)行轉(zhuǎn)換,使其被添加到依賴圖中,并且最終會(huì)添加到 bundle 中
如果要在 webpack 配置中定義 loader ,要在 module.rules 中定義,而不是 rules
1.2.4 plugins(插件):從打包優(yōu)化和壓縮,一直到重新定義環(huán)境中的變量。插件接口功能極其強(qiáng)大,可以處理各種各樣的任務(wù)
使用一個(gè)插件只需要 require() 它,然后把它添加到 plugins 數(shù)組中就行。多數(shù)插件可以通過選項(xiàng)(option)自定義。你也可以在一個(gè)配置文件中因?yàn)椴煌康亩啻问褂猛粋€(gè)插件,這時(shí)需要通過使用 new 操作符來創(chuàng)建它的一個(gè)實(shí)例。
webpack 提供許多開箱可用的插件!查閱插件列表獲取更多信息,更詳細(xì)的圖文請(qǐng)參閱官方文檔 https://doc.webpack-china.org/concepts/。
總結(jié)
以上所述是小編給大家介紹的Webpack框架核心概念(知識(shí)點(diǎn)整理),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家的支持!
相關(guān)文章
純javaScript、jQuery實(shí)現(xiàn)個(gè)性化圖片輪播【推薦】
本文主要介紹了純javaScript、jQuery實(shí)現(xiàn)個(gè)性化圖片輪播的方法,并在文章結(jié)尾附上源碼下載。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01淺談toLowerCase和toLocaleLowerCase的區(qū)別
下面小編就為大家?guī)硪黄獪\談toLowerCase和toLocaleLowerCase的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08JavaScript新增的兩個(gè)原始數(shù)據(jù)類型詳解(Record和Tuple)
js中原始數(shù)據(jù)類型有Number、String、Boolean、Null、Undefined、Symbol (ES6引入的數(shù)據(jù)類型),引用的數(shù)據(jù)類型有Object,Array,Function,下面這篇文章主要給大家介紹了關(guān)于JavaScript新增兩個(gè)原始數(shù)據(jù)類型(Record和Tuple)的相關(guān)資料,需要的朋友可以參考下2022-03-03webpack DllPlugin xxx is not defined解決辦法
這篇文章主要介紹了webpack DllPlugin xxx is not defined解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12JS組件封裝之監(jiān)聽localStorage的變化
這篇文章主要介紹了JS組件封裝之監(jiān)聽localStorage的變化,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09Javascript實(shí)現(xiàn)從小到大的數(shù)組轉(zhuǎn)換成二叉搜索樹
這篇文章主要介紹了Javascript實(shí)現(xiàn)從小到大的數(shù)組轉(zhuǎn)換成二叉搜索樹的相關(guān)資料,需要的朋友可以參考下2017-06-06IE 下Enter提交表單存在重復(fù)提交問題的解決方法
這篇文章主要介紹了IE 下Enter提交表單存在重復(fù)提交問題的解決方法,需要的朋友可以參考下2014-05-05