![webpack生產(chǎn)環(huán)境和開發(fā)環(huán)境的控制_第1頁(yè)](http://file4.renrendoc.com/view/f149d3e5b33cf1ae1af4bbb7d2c002ae/f149d3e5b33cf1ae1af4bbb7d2c002ae1.gif)
![webpack生產(chǎn)環(huán)境和開發(fā)環(huán)境的控制_第2頁(yè)](http://file4.renrendoc.com/view/f149d3e5b33cf1ae1af4bbb7d2c002ae/f149d3e5b33cf1ae1af4bbb7d2c002ae2.gif)
![webpack生產(chǎn)環(huán)境和開發(fā)環(huán)境的控制_第3頁(yè)](http://file4.renrendoc.com/view/f149d3e5b33cf1ae1af4bbb7d2c002ae/f149d3e5b33cf1ae1af4bbb7d2c002ae3.gif)
![webpack生產(chǎn)環(huán)境和開發(fā)環(huán)境的控制_第4頁(yè)](http://file4.renrendoc.com/view/f149d3e5b33cf1ae1af4bbb7d2c002ae/f149d3e5b33cf1ae1af4bbb7d2c002ae4.gif)
![webpack生產(chǎn)環(huán)境和開發(fā)環(huán)境的控制_第5頁(yè)](http://file4.renrendoc.com/view/f149d3e5b33cf1ae1af4bbb7d2c002ae/f149d3e5b33cf1ae1af4bbb7d2c002ae5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
、在webpack配置文件中判斷當(dāng)前模式(process.env.NODE_ENV對(duì)于我們的項(xiàng)目而言,有兩種模式,分別為開發(fā)模式和生產(chǎn)模式,在 webpack中也有個(gè)mode選項(xiàng),作用為設(shè)置當(dāng)前打包的模式。于是我們可能寫兩個(gè)甚至更多的webpack配置文件,在不同的模式下運(yùn)行不同的文件。這個(gè)看起來(lái)問(wèn)題不大,但是如果我只想把所有內(nèi)容寫在一個(gè)文件里面呢?這時(shí)就需要在配置文件里面獲取模式信息從而做定向操作,我們可以使用node里面的process.env對(duì)象(表示node環(huán)境相關(guān)的一些信息)。然后,我們就可以在env這個(gè)對(duì)象里面添加NODE_ENVi性表示我們的具體模式,在配置文件里面可以通過(guò):process.env.NODE_EN進(jìn)行獲取。process.env.NODE_ENV這是我們自己添加的一個(gè)用來(lái)區(qū)分環(huán)境的變量,我們通過(guò)這個(gè)來(lái)區(qū)分生產(chǎn)環(huán)境與開發(fā)環(huán)境。二、cross-env(跨平臺(tái)設(shè)置項(xiàng)目模式)由于給process.env設(shè)置NODE_ENV表示模式,在不同電腦上設(shè)置的方式是不一樣的,所以cross-env就來(lái)了,它可以跨平臺(tái)設(shè)置環(huán)境和使用環(huán)境變量。使用流程在webpack項(xiàng)目中安裝cross-env模塊cnpmicross-env-D通過(guò)腳本使用cross-env模塊設(shè)置模式變量在package.json的scripts選項(xiàng)中中寫下如下部分的代碼:當(dāng)執(zhí)行叩m腳本,設(shè)置成功npmrundevnpmrunbuild在webpack配置文件中獲取當(dāng)前環(huán)境變量值HPKkagejwnxfunw如Jo wcbpad<.?nfigjs* 」?iMe?WQbpa&k-en1/^瞻wec^xortiq.|E乂忖』cunknowns-^滬oulput>廬pathconstNODEBW-process.env.NODEENV;wnwlelogr—+WOEENV+11 °);1 //nctipark.ronfigrj4ewiMpiith-rrquire(*path*):t it"U'.P*piptirT={a anderMiDf.FNV,1 ?曲庁評(píng)77!育踴m output1{升?出丈薦踣程皿filenvie:'bund'LcJs,并暮岀Jc+tfi//cutoutlloathiffn足哪阱S徑path:path*resolve^_dirnoif,'tiist| hJwebpack-merge配置文件的合并通過(guò)上面的操作我們已經(jīng)可以在webpack的配置文件里面實(shí)現(xiàn)模式的判斷了,但是這里還存在一個(gè)問(wèn)題,那就是如果代碼全部都放在一個(gè)文件里面,這個(gè)文件會(huì)變得非常臃腫且不好擴(kuò)展與維護(hù)但是如果徹底的分開的話,有和最開始沒(méi)什么兩樣了,那么能不能有個(gè)折中的辦法呢?很明顯,有的。我們可以建立一個(gè)公共的webpack配置文件,這個(gè)文件里面把開發(fā)和生產(chǎn)的公共配置部分取出來(lái)放入其中,然后單獨(dú)建立兩個(gè)文件,一個(gè)開發(fā)一個(gè)生產(chǎn),其中只寫自己模式的極少內(nèi)容就可以了,最后當(dāng)我們運(yùn)行開發(fā)或者生產(chǎn)文件時(shí)會(huì)自動(dòng)合并功能的內(nèi)容。操作流程安裝合并模塊webpack-mergecnpmiwebpack-merge-D修改package.json文件配置--config是可以設(shè)置我們執(zhí)行哪個(gè)webpack文件,默認(rèn)是執(zhí)行webpack.config.js但是我們現(xiàn)在修改文件名了,所以我們要設(shè)置一下創(chuàng)建三個(gè)配置文件webpack.dev.config.js開發(fā)配置.config.js生產(chǎn)配置tmHiparkinrga.并mfe^Kl[.praxanrt^.|&*[j*J-^nkrawr^皿 dvv.Wiji^i?六bpy沁tM 盲用i^mpjiEXp脂LfVtlg#1!w+kf-MtAiWCiC4CXC4)niH4nOQnf^ljlT.771PMDFMI3>MMlnt#i*■商iLLr*l"iM**?<ii4fifl|j.#/31?giaAgjMrf*eti計(jì)=fqulrv*I#nh:V■iwrth.(I.nl:lyrJS■*)twiobilB-itiwUosn-vwpc?ldip4||hM-HIHEK?l£BE-iin-QUhpPVsAesstfs-tbad-renirecpoitusiFkvuarivtlE-dlvirrQ4kW也細(xì)優(yōu)vw-dimatirmd-soumMtqpvuii-a3?-riafTuvue-urfi-!wling-pmc^ra€pKk-rrwgfi!』■itJidwjiiEpree、node-^madLici*na■£■直孔制曰Mrh^iitf1imMic|jf"Ehrtp4th-wrg*IMnglulnpn^uriguilid*<L上片&Ull4ra/fIflfjIt9H5El-mmB72Wr,n*rt?(ii-*ierjeCfftii-rhvWOOf_0W=flrodXiCTWWwebp^Ch—fiAflfWMWQm疋MFlJJjH!? .gitigrwrc 甘|l pfl£kAgQ.|x?n Um ^Pttipfckdim<4iWeg.il uM A^klpKktPfluWlIlQj> UJK-f.|?JSIfldKInn:WtbpicI4.4L.1TJjk_127?^Built■&:科T卜M~?F5rU:HflRiAsm< tmEhHfci ChnnkMmme屮*Wb產(chǎn)■! tL4Uti?d|MilhEntrypoiinimila=prra_Je|4j./m/iHin.jii4itE^Evu<t)LBuiltjrhiMfIiMtaMac!HpglL^hi-r;Mfcg4rt.-aar^a7ihangil4j$Q1UEENEL四、開發(fā)模式下的熱更新/熱替換--webpack-dev-server安裝:cnpmiwebpack-dev-server-D使用:把腳本中的webpack換成webpack-dev-server即可效果id?¥.jis3W和思mlfi[■ittfid]vainentryira丄Mt ■=d**.j?[B|Mjlti?磚?/vrc/i?ddiE.jt棘D0廠{Mini1i.r^iltjI./HMlfli-e/_aiis<i-*it3il*l-i-7*HiHi"hital/irritaffl,jsi斗?1&KiB{mia>libailt]■1.3dwl-r?e?K/lM?iJIJUL Ibuilt][./Mda■adHl*E/Bhrt9JL-flHtiti4i?1.3? j門 ta^trs{uia}[built])[.)rMMda_BM^il>E/_li)fLmm?141.&.<4dLBglfl¥Bl/'L±ita/liBgl?BL.jsj|4-36ItiB{■■!■}[built]l[ri/_ttrip-Mi>t<9ji]161fiytn匚〕[./rwdE-_Hodults/uebfiack-diev-server^J■It.JptaEhiiaclk-ctetr-^emrtr/clienindex.js?tittp://lacjilJwst:SliBfrJ-/Mde■oAules/_Meh^ack?dEav^HrvEr^l.1A.3gw?VAv-MFHiVtllWtThftfjVLKE-iJmCtM4.23mlgUjLtailt]BidBlln/wlip?c:fc-<irv-!Mrwr^l.It.ItM^ffadE-tfw-Mrvvr/CllMit/evtrVtir.jf)3^1KLBtlllk}[Wilt]IB/iwieHdules/ue*?atk-dew-MnrtfB3.11.jOMAiAefti-dev-&eriher>rcllait/s4ck?t..jsI1.51KiB-{ula}[built|I Kll4m1h>I./iwdendHlni/MfefHrEK-drv-Mrwr?3dIt.30Wfef*cfc-dnr-3iariihcri/cljjHit/iftJi'Lt/14||.j*]9€4byl"■:biu'■|built|I. k/trttwk-dmi-Mrwrtfl.1*.J?wito*MlHiw-Miwr/cUMiViit£U/rtlM^Hffi.JiI1.S9KIBf町[bnLUIwrtvmk-dru-Mirw?ia- 3^#itpMlk-4n-Mrnr/CllMit/wtJilt/i!<Btf1v?*PV?i^jftI b>Ctb£M?Li*I./iwleikhJjteh/weij^iLhXtwils^nc pcJk/ltotiya£帕飛?\門曲517Bib^Les{mlIjiI[built]42Bytci Hbviltj*IBhuld-enrieriiilesiCgfipiledsKcessfullyi.[]在開發(fā)模式文件中配置webpack-dev-server{>package,json Jswebpack.dev,configJsxc>index.htmljsindex.jswebpack-dev-server>jswebpack.dev.configjs>[軻<unknown>>滬devServer//礎(chǔ)b閱tied電叭“nfig.js幵岌配豐constmerge=require('webpack-merge*);//j^S引入皿亡內(nèi)芒constcommon=requiref\/webpack^common+ccnfig+js' 引入?yún)坦泊鷆onstpath=require("p3th");5module■電xparts二merge(cannonj{output:{filename!F刖.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介鋪面出售合同范本
- 2025年度進(jìn)口建筑材料采購(gòu)合同
- 2025年度公司合同管理培訓(xùn)與咨詢服務(wù)合同
- 公廁改造施工合同范本
- 倆人合伙協(xié)議合同范例
- 關(guān)于編制太陽(yáng)能光伏發(fā)電項(xiàng)目可行性研究報(bào)告
- 上海金山貨車租賃合同范例
- 關(guān)于圍巾合同范本
- 醫(yī)務(wù)人員合同范例
- 2025年度職業(yè)教育中心實(shí)訓(xùn)設(shè)備更新合同
- tpu顆粒生產(chǎn)工藝
- 《體檢中心培訓(xùn)》課件
- 《跟著音樂(lè)去旅行》課件
- 初中數(shù)學(xué)深度學(xué)習(xí)與核心素養(yǎng)探討
- 特殊教育導(dǎo)論 課件 第1-6章 特殊教育的基本概念-智力異常兒童的教育
- 辭職申請(qǐng)表-中英文模板
- 07J501-1鋼雨篷玻璃面板圖集
- 2023學(xué)年完整公開課版家鄉(xiāng)的方言
- 母親健康快車可行性報(bào)告
- 護(hù)理質(zhì)量管理課件
- 出口貨物報(bào)關(guān)單英文翻譯
評(píng)論
0/150
提交評(píng)論