webpack 常用插件及用途

學(xué)習(xí) webpack 極其推薦跟著這個教程走一遍 https://doc.webpack-china.org/guides/

html-webpack-plugin

我們可以看到,webpack 生成 print.bundle.js
和 app.bundle.js
文件,這也和我們在 index.html
文件中指定的文件名稱相對應(yīng)。如果你在瀏覽器中打開 index.html
,就可以看到在點擊按鈕時會發(fā)生什么。
但是,如果我們更改了我們的一個入口起點的名稱,甚至添加了一個新的名稱,會發(fā)生什么?生成的包將被重命名在一個構(gòu)建中,但是我們的index.html
文件仍然會引用舊的名字。我們用 HtmlWebpackPlugin
來解決這個問題。

clean-webpack-plugin

你可能已經(jīng)注意到,由于過去的指南和代碼示例遺留下來,導(dǎo)致我們的 /dist
文件夾相當(dāng)雜亂。webpack 會生成文件,然后將這些文件放置在 /dist
文件夾中,但是 webpack 無法追蹤到哪些文件是實際在項目中用到的。
通常,在每次構(gòu)建前清理 /dist
文件夾,是比較推薦的做法,因此只會生成用到的文件。讓我們完成這個需求。
clean-webpack-plugin
是一個比較普及的管理插件,讓我們安裝和配置下。

webpack-manifest-plugin

你可能會感興趣,webpack及其插件似乎“知道”應(yīng)該哪些文件生成。答案是,通過 manifest,webpack 能夠?qū)Α改愕哪K映射到輸出 bundle 的過程」保持追蹤。如果你對通過其他方式來管理 webpack 的輸出更感興趣,那么首先了解 manifest 是個好的開始。
通過使用 WebpackManifestPlugin
,可以直接將數(shù)據(jù)提取到一個 json 文件,以供使用。
我們不會在此展示一個關(guān)于如何在你的項目中使用此插件的完整示例,但是你可以仔細深入閱讀 manifest 的概念頁面,以及通過緩存指南來弄清如何與長期緩存相關(guān)聯(lián)。

webpack.HotModuleReplacementPlugin

webpack自帶,熱替換插件

webpack.optimize.UglifyJsPlugin

webpack自帶,運行 UglifyJS 來壓縮輸出文件

壓縮前
壓縮后

webpack.DefinePlugin

webpack自帶,設(shè)置環(huán)境變量
可以在入口文件index.js里用process.env.NODE_ENV獲得

CommonsChunkPlugin

代碼分離 webpack 中文網(wǎng) 新手教程

webpack自帶,刪除代碼分離不同js中的重復(fù)模塊

CommonsChunkPlugin允許我們將常見的依賴項提取到現(xiàn)有的條目塊或全新的塊中。我們來使用這個來重復(fù)上一個例子中的lodash依賴:

手動通過entry(入口)進行代碼分離時,這種方法有一些陷阱:

  • 如果輸入塊之間有任何重復(fù)的模塊,它們將被包含在兩個bundle中。
  • 它并不靈活,不能用于使用核心應(yīng)用程序邏輯動態(tài)分割代碼。

這兩點中的第一點絕對是我們示例的一個問題,因為lodash也是在./src/index.js中導(dǎo)入的,因此將在兩個bundle中重復(fù)。我們通過使用CommonsChunkPlugin來刪除這個重復(fù)。

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

相關(guān)閱讀更多精彩內(nèi)容

  • GitChat技術(shù)雜談 前言 本文較長,為了節(jié)省你的閱讀時間,在文前列寫作思路如下: 什么是 webpack,它要...
    蕭玄辭閱讀 12,897評論 7 110
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 webpack介紹和使用 一、webpack介紹 1、由來 ...
    it筱竹閱讀 11,463評論 0 21
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,673評論 2 71
  • 原文首發(fā)于:Webpack 3,從入門到放棄 Update (2017.8.27) : 關(guān)于 output.pub...
    昵稱都被用完了衰閱讀 1,994評論 4 19
  • 記得2004年的時候,互聯(lián)網(wǎng)開發(fā)就是做網(wǎng)頁,那時也沒有前端和后端的區(qū)分,有時一個網(wǎng)站就是一些純靜態(tài)的html,通過...
    陽陽陽一堆陽閱讀 3,458評論 0 5

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