webpack4.0 小插件應(yīng)用

1.webpack小插件應(yīng)用

    1. cleanWebpack

webpack在打包時(shí),會(huì)查詢(xún)當(dāng)前根目錄下是否有dist(默認(rèn))文件夾,如果有,就將打包后的文件放入dist目錄下,如果沒(méi)有,那么會(huì)生成一個(gè)新的dist目錄,并且將打包的結(jié)果插入,如果配置的出口文件帶有hash,也就是打包后的文件名會(huì)發(fā)生變化的情況下,dist目錄會(huì)越來(lái)越大。clean-webpack-plugin這個(gè)插件就是為了解決此類(lèi)問(wèn)題的,它會(huì)清空dist目錄,或者刪除dist文件夾,并且重新生成,保證dist總是只有最新的代碼。這個(gè)插件暴露出了多個(gè)對(duì)象,此處我們只說(shuō)其“CleanWebpackPlugin”屬性。代碼如下:

//首先安裝: yarn add(或者npm install)clean-webpack-plugin -D
//用法: 
let { CleanWebpackPlugin } = require("clean-webpack-plugin");
new CleanWebpackPlugin();
//或者
let cleanWebpack = require("clean-webpack-plugin");
new cleanWebpack.CleanWebpackPlugin()
  • 2.copyWebpackPlugin

當(dāng)我們有一些文件必須也放到打包后的文件夾(默認(rèn)dist),但它又與入口entry沒(méi)有任何直接或者間接的依賴(lài)關(guān)系。那么我們可以使用“copy-webpack-plugin”插件來(lái)達(dá)到目的

// 安裝  yarn add copy-webpack-plugin -D
let CopyWebpackPlugin = require("copy-webpack-plugin");
plugins: [
    .....
    new CopyWebpackPlugin([
      // 要拷貝的文件
      { from: "./public/a.txt", to: "./" } //"to"字段這里需要注意下,它已經(jīng)定位到了dist目錄下,因此不需要寫(xiě)成"./dist",否則,會(huì)在dist下再生成一個(gè)dist目錄,將a.txt放在它里邊
    ])
  ]
  • 3.bannerPlugin(內(nèi)置插件----用于生成版權(quán)聲明)

由于bannerPlugin是內(nèi)置插件,因此需要先引入webpack,應(yīng)用方式如下

plugins: [
    ...
    new webpack.BannerPlugin('make 2019 by lc')
  ]

打包后的js會(huì)帶上上邊括號(hào)內(nèi)的內(nèi)容

005255.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容