1.loader是什么呢?
? ? loader 可以用于對(duì)模塊的源代碼進(jìn)行轉(zhuǎn)換,我們可以將css、less、sass等也看成是一個(gè)模塊,我們是通過import來加載這個(gè)模塊的。在加載這個(gè)模塊時(shí),webpack其實(shí)并不知道如何對(duì)其進(jìn)行加載,我們必須制定對(duì)應(yīng)的loader來完成這個(gè)功能。
2.npm install html-webpack-plugin -D中有哪些loaders呢?分別有什么作用?
css-loader:負(fù)責(zé)加載css文件,將.css文件進(jìn)行解析。安裝:npm install css-loader -D
style-loader:插入style的操作。安裝:npm install style-loader -D
less-loader:自動(dòng)使用less工具轉(zhuǎn)換less到css。安裝:npm install less-loader -D
postcss-loader:PostCSS是一個(gè)通過JavaScript來轉(zhuǎn)換樣式的工具,這個(gè)工具可以幫助我們進(jìn)行一些CSS的轉(zhuǎn)換和適配,比如自動(dòng)添加瀏覽器前綴、css樣式的重置。安裝:npm install postcss-loader -D
file-loader:file-loader的作用就是幫助我們處理import/require()方式引入的一個(gè)文件資源,并且會(huì)將它放到我們輸出的文件夾中。安裝:npm install file-loader -D
url-loader:url-loader和file-loader的工作方式是相似的,但是可以將較小的文件,轉(zhuǎn)成base64的URI。 安裝:npm install url-loader -D
3.什么是Plugin?
Plugin可以用于執(zhí)行更加廣泛的任務(wù),比如打包優(yōu)化、資源管理、環(huán)境變量注入等。
4.webpack中有哪些plugin?分別有什么作用?
CleanWebpackPlugin:我們?cè)谥暗难菥氈?,每次修改了一些配置,重新打包時(shí),都需要手動(dòng)刪除dist文件夾,CleanWebpackPlugin可以幫助我們?cè)诿看未虬鼤r(shí),自動(dòng)刪除原有的dist文件夾。安裝:npm install clean-webpack-plugin -D
HtmlWebpackPlugin:我們之前的配置中,打包的dist文件夾中是沒有index.html文件,這是不規(guī)范的。在進(jìn)行項(xiàng)目部署的時(shí),必然也是需要有對(duì)應(yīng)的入口文件index.html,所以我們也需要對(duì)index.html進(jìn)行打包處理。安裝:npm install html-webpack-plugin -D
DefinePlugin:DefinePlugin允許在編譯時(shí)創(chuàng)建配置的全局常量,是一個(gè)webpack內(nèi)置的插件(不需要單獨(dú)安裝)。
CopyWebpackPlugin:在vue的打包過程中,如果我們將一些文件放到public的目錄下,那么這個(gè)目錄會(huì)被復(fù)制到dist文件夾中,這個(gè)復(fù)制的功能,我們可以使用CopyWebpackPlugin來完成。安裝:npm install copy-webpack-plugin -D