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