一炉菲、 入口起點(entry)
在webpack配置文件中并炮,首先需要一個entry入口文件他嚷,這說明我們執(zhí)行webpack時知道是從哪里開始的蹋绽;
二芭毙、輸出口
輸出口是將入口文件進(jìn)行了輸出,若是有多個入口文件卸耘,可以用[name].js的方式進(jìn)行輸出退敦,使多入口的文件有多個輸出的文件名,path是打包后生成文件的路徑蚣抗。
三侈百、模式
提供?mode?配置選項,告知 webpack 使用相應(yīng)模式的內(nèi)置優(yōu)化翰铡。
四钝域、loader
loader是預(yù)處理,對源代碼進(jìn)行轉(zhuǎn)換锭魔,可以將es6轉(zhuǎn)化為es5,可以將css引入到j(luò)s中例证,另外可以將less和scss的文件處理成css文件引入到html中去。
babel-loader:用來處理ES6語法迷捧,將其編譯為瀏覽器可以執(zhí)行的js語法战虏,用exclude除去不要編譯的文件
style-loader,css-loader党涕,sass-loader,less-loader:
處理樣式文件 如果在JS中導(dǎo)入了css巡社,那么就需要使用 css-loader 來識別這個模塊膛堤;?style-loader 是通過一個JS腳本創(chuàng)建一個style標(biāo)簽,里面包含一些樣式晌该,style-loader是不能單獨使用的肥荔,應(yīng)為它并不負(fù)責(zé)解析 css 之前的依賴關(guān)系,每個loader的功能都是單一的朝群,各自拆分獨立燕耿;sass-loader是處理saas文件,less-loader是處理less文件姜胖。
use里面有多個loader時誉帅,會從下往上執(zhí)行。
html-loader: 處理html中的img右莱,結(jié)合url-loader可以將html中的img的路徑正確打包蚜锨。
還有很多的loader對文件進(jìn)行處理,這里就不一一舉例了慢蜓。
五亚再、插件( plugins)
插件的功能比較強大,它主要是用于loader不能夠處理的文件晨抡,webpack中有很多的插件氛悬,但是這些插件是需要在webpack.config.js的文件中進(jìn)行一些配置才能進(jìn)行使用的则剃。例如有將js進(jìn)行拆分,將js和css進(jìn)行壓縮如捅,還有將js和css自動引入到html中棍现,不需要進(jìn)行手動引入的功能,都需要在webpack中引入插件伪朽,然后再配置文件中進(jìn)行配置就可以使用了轴咱。
html-webpack-plugin:對html文件進(jìn)行的處理
mini-css-extract-plugin: 將css提取到單獨的文件中 optimization.splitChunks.cacheGroups屬性提取到一個css中 。
optimize-css-assets-webpack-plugin:將CSS進(jìn)行壓縮烈涮。
uglifyjs-webpack-plugin: 用來縮衅臃巍(壓縮優(yōu)化)js文件。
在官網(wǎng)里面還有好多的插件坚洽,可以按需引入戈稿。
以上是webpack的一些基本內(nèi)容,希望大家多多提意見幫助小編改正讶舰。