摘要:運(yùn)行該語(yǔ)句會(huì)執(zhí)行如下步驟使用進(jìn)行文件壓縮。設(shè)置環(huán)境變量,觸發(fā)某些包,以不同的方式進(jìn)行編譯。在原始的源碼中執(zhí)行查找和替換操作。等同于表示任何出現(xiàn)的地方都會(huì)被替換為。提供函數(shù)用來合并配置對(duì)象當(dāng)文件小于限制,會(huì)返回。
選項(xiàng)
1.devtool:通過在瀏覽器調(diào)試工具(browser devtools)中添加元信息(meta info)增強(qiáng)調(diào)試。
2.resolve.alias:創(chuàng)建 import 或 require 的別名,來確保模塊引入變得更簡(jiǎn)單。取別名時(shí)在給定對(duì)象的鍵后的末尾添加 $,表示精準(zhǔn)匹配,詳見文檔
3.resolve.extensions:自動(dòng)解析確定的擴(kuò)展,能夠使用戶在引入模塊時(shí)不帶擴(kuò)展。
4.module.rules.options:傳遞給loader的參數(shù)。
命令語(yǔ)句webpack -p與webpack --optimize-minimize --define process.env.NODE_ENV=""production""等效。運(yùn)行該語(yǔ)句會(huì)執(zhí)行如下步驟:
使用 UglifyJsPlugin 進(jìn)行 JS 文件壓縮。
運(yùn)行LoaderOptionsPlugin。
設(shè)置 NodeJS 環(huán)境變量,觸發(fā)某些 package 包,以不同的方式進(jìn)行編譯。
webpack內(nèi)置插件1.UglifyJsPlugin:運(yùn)行 UglifyJS 來壓縮輸出文件。在命令行中指定 --optimize-minimize,或在 plugins 配置中添加使用。
2.DefinePlugin:在原始的源碼中執(zhí)行查找和替換操作。
--define process.env.NODE_ENV=""production""等同于
plugins:[ new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("production") }) ]
表示任何出現(xiàn) process.env.NODE_ENV的地方都會(huì)被替換為"production"。
3.HotModuleReplacementPlugin:webpack的內(nèi)置HMR(模塊熱替換)插件。
4.CommonsChunkPlugin:是一個(gè)可選的用于建立一個(gè)獨(dú)立文件(又稱作 chunk)的功能,這個(gè)文件包括多個(gè)入口文件的公共模塊。通過將公共模塊拆出來,最終合成的文件能夠在最開始的時(shí)候加載一次,便存起來到緩存中供后續(xù)使用。這個(gè)帶來速度上的提升。new webpack.optimize.CommonsChunkPlugin(options)
5.NoEmitOnErrorsPlugin:在編譯出現(xiàn)錯(cuò)誤時(shí),使用 NoEmitOnErrorsPlugin 來跳過輸出階段。這樣可以確保輸出資源不會(huì)包含錯(cuò)誤。
插件1.html-webpack-plugin:用于生成一個(gè)html5文件,將輸出的webpack包通過script標(biāo)簽插入body中。若輸出的webpack中包含任何的css資源,則這些CSS將通過標(biāo)簽插入html的head中。
2.clean-webpack-plugin:用于在構(gòu)建之前刪除/清理你的構(gòu)建文件夾。
3.webpack-merge:提供merge函數(shù)用來合并配置對(duì)象
url-loaderurl-loader當(dāng)文件小于限制,會(huì)返回DataURL??蓚鬟flimit,mimetype,prefix三個(gè)參數(shù)。
為什么可以傳遞nameurl-loader的limit參數(shù):如果文件大于限制(以字節(jié)為單位),則使用file-loader,并將所有參數(shù)傳遞給它。默認(rèn)為無限制。
因此可以在options里面寫上file-loader的一些參數(shù),比如name
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/91384.html
摘要:引言最近在學(xué)習(xí),發(fā)現(xiàn)好多知識(shí)點(diǎn),之前一點(diǎn)都沒有接觸過,如等等。使用本地安裝,會(huì)存于文件夾內(nèi)與屬性內(nèi),更方便項(xiàng)目文件遷移以及協(xié)同開發(fā)等情況。 引言 最近在學(xué)習(xí)webpack,發(fā)現(xiàn)好多知識(shí)點(diǎn),之前一點(diǎn)都沒有接觸過,如babel、core-js、browserslist等等。以前習(xí)慣了使用cli構(gòu)建項(xiàng)目,很多東西不用考慮,拿來就用,這樣的碼農(nóng)是不會(huì)有能力提升的,必須了解更多的知識(shí)點(diǎn),才能成為...
摘要:新搭建的個(gè)人博客,本文地址學(xué)習(xí)筆記環(huán)境搭建本文的書寫環(huán)境為,之后會(huì)補(bǔ)充下的差異創(chuàng)建學(xué)習(xí)目錄初始化項(xiàng)目根據(jù)相關(guān)提示完善信息,入口文件安裝相關(guān)包,并且使用也就是支持,需要包,因?yàn)槲抑白鰝€(gè)一些相關(guān)項(xiàng)目,所以部分包已經(jīng)全局安裝,比如等等,大家 新搭建的個(gè)人博客,本文地址:React學(xué)習(xí)筆記1:環(huán)境搭建 本文的書寫環(huán)境為mac,之后會(huì)補(bǔ)充windows下的差異 1、創(chuàng)建學(xué)習(xí)目錄 mkdir l...
摘要:前言在上一篇文章中我介紹了學(xué)習(xí)前的準(zhǔn)備工作,下面開始的學(xué)習(xí)。目標(biāo)一般我們接觸到的關(guān)于的文章,都是以解讀官方文檔為主,而且是針對(duì)單頁(yè)面項(xiàng)目的應(yīng)用。我先在假設(shè)要做一個(gè)多頁(yè)面應(yīng)用,該如何去通過打包。 前言 在上一篇文章中我介紹了學(xué)習(xí)webpack前的準(zhǔn)備工作,下面開始webpack的學(xué)習(xí)。 *創(chuàng)建webpack-demo文件夾 $ mkdir webpack-demo $ cd webpac...
摘要:前言在上一篇文章中我介紹了學(xué)習(xí)前的準(zhǔn)備工作,下面開始的學(xué)習(xí)。目標(biāo)一般我們接觸到的關(guān)于的文章,都是以解讀官方文檔為主,而且是針對(duì)單頁(yè)面項(xiàng)目的應(yīng)用。我先在假設(shè)要做一個(gè)多頁(yè)面應(yīng)用,該如何去通過打包。 前言 在上一篇文章中我介紹了學(xué)習(xí)webpack前的準(zhǔn)備工作,下面開始webpack的學(xué)習(xí)。 *創(chuàng)建webpack-demo文件夾 $ mkdir webpack-demo $ cd webpac...
閱讀 2158·2023-04-25 19:03
閱讀 1324·2021-10-14 09:42
閱讀 3517·2021-09-22 15:16
閱讀 1071·2021-09-10 10:51
閱讀 1750·2021-09-06 15:00
閱讀 2475·2019-08-30 15:55
閱讀 543·2019-08-29 16:22
閱讀 943·2019-08-26 13:49