Webpack框架核心概念(知識(shí)點(diǎn)整理)
webpack是什么
webpack是一個(gè)前端構(gòu)建的打包工具(并不是什么庫(kù)或框架), 它能把各種資源,例如JS(含JSX)、coffee、css(含less/sass)、圖片等都作為模塊來(lái)處理和使用。

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è)依賴(lài)關(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í)入口文件所依賴(lài)的,從而構(gòu)建內(nèi)部依賴(lài)關(guān)系圖,并處理后輸出到稱(chēng)之為bundles的文件中
1.2.2 output(輸出):指定經(jīng)entry point處理后的bundles文件的輸出路徑(path)和名字(filename)
1.2.3 loader(加載器):用來(lái)處理非JS文件,可以將所有文件轉(zhuǎn)換成webpack可以處理的模塊,然后交給webpack進(jìn)行打包等處理;webpack loader 本質(zhì)上講是將所有類(lèi)型的文件轉(zhuǎn)化為應(yīng)用程序的依賴(lài)圖可以直接引用的模塊,其有兩個(gè)目標(biāo):
1.2.3.1 使用test屬性,識(shí)別出對(duì)應(yīng)于 loader 的可轉(zhuǎn)換文件
1.2.3.2 使用use屬性將這些文件進(jìn)行轉(zhuǎn)換,使其被添加到依賴(lài)圖中,并且最終會(huì)添加到 bundle 中
如果要在 webpack 配置中定義 loader ,要在 module.rules 中定義,而不是 rules
1.2.4 plugins(插件):從打包優(yōu)化和壓縮,一直到重新定義環(huán)境中的變量。插件接口功能極其強(qiáng)大,可以處理各種各樣的任務(wù)
使用一個(gè)插件只需要 require() 它,然后把它添加到 plugins 數(shù)組中就行。多數(shù)插件可以通過(guò)選項(xiàng)(option)自定義。你也可以在一個(gè)配置文件中因?yàn)椴煌康亩啻问褂猛粋€(gè)插件,這時(shí)需要通過(guò)使用 new 操作符來(lái)創(chuàng)建它的一個(gè)實(shí)例。
webpack 提供許多開(kāi)箱可用的插件!查閱插件列表獲取更多信息,更詳細(xì)的圖文請(qǐng)參閱官方文檔 https://doc.webpack-china.org/concepts/。
總結(jié)
以上所述是小編給大家介紹的Webpack框架核心概念(知識(shí)點(diǎn)整理),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家的支持!
相關(guān)文章
ajax如何實(shí)現(xiàn)頁(yè)面局部跳轉(zhuǎn)與結(jié)果返回
AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新,本篇文章給大家介紹ajax如何實(shí)現(xiàn)頁(yè)面局部跳轉(zhuǎn)與結(jié)果返回,感興趣的朋友一起來(lái)學(xué)習(xí)2015-08-08
JavaScript使用Promise實(shí)現(xiàn)分批處理接口請(qǐng)求
當(dāng)我們?cè)趯?shí)際項(xiàng)目中遇到需要批量發(fā)起上百條接口請(qǐng)求怎么辦呢,本文就來(lái)為大家介紹一下JavaScript如何使用Promise實(shí)現(xiàn)分批處理接口請(qǐng)求,需要的小伙伴可以參考一下2023-11-11
用html5 js實(shí)現(xiàn)點(diǎn)擊一個(gè)按鈕達(dá)到瀏覽器全屏效果
點(diǎn)擊一個(gè)按鈕要實(shí)現(xiàn)按F11全屏的效果。 在HTML5中,W3C制定了關(guān)于全屏的API,就可以實(shí)現(xiàn)全屏幕的效果2014-05-05
IE下通過(guò)a實(shí)現(xiàn)location.href 獲取referer的值
IE下采用window.location.href方式跳轉(zhuǎn)的話,referer值為空在標(biāo)簽a里面的跳轉(zhuǎn)的話referer就不會(huì)空,下面是具體的實(shí)現(xiàn)代碼2014-09-09
input+select(multiple) 實(shí)現(xiàn)下拉框輸入值
昨天做一個(gè)網(wǎng)站時(shí),需要實(shí)現(xiàn)下拉框能夠輸入,從功能上講是要實(shí)現(xiàn)用戶(hù)在文本框輸入值時(shí),能夠從后讀出數(shù)據(jù)彈出下拉選項(xiàng)2009-05-05
js有趣的非空判斷函數(shù) + ?? 實(shí)現(xiàn)
本文介紹了JS中空值合并操作符??的用法,包括如何使用它來(lái)判斷數(shù)據(jù)是否為“合法數(shù)據(jù)”,即非空字符串、非undefined和非null,下面就一起來(lái)了解一下,感興趣的可以了解一下2024-09-09
小程序中使用css var變量(使js可以動(dòng)態(tài)設(shè)置css樣式屬性)
這篇文章主要介紹了小程序中使用css var變量,使js可以動(dòng)態(tài)設(shè)置css樣式屬性,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

