




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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è)看起來問題不大,但是如果我只想把所有內(nèi)容寫在一個(gè)文件里面呢?這時(shí)就需要在配置文件里面獲取模式信息從而做定向操作,我們可以使用node里面的process.env對(duì)象(表示node環(huán)境相關(guān)的一些信息)。然后,我們就可以在env這個(gè)對(duì)象里面添加NODE_ENVi性表示我們的具體模式,在配置文件里面可以通過:process.env.NODE_EN進(jìn)行獲取。process.env.NODE_ENV這是我們自己添加的一個(gè)用來區(qū)分環(huán)境的變量,我們通過這個(gè)來區(qū)分生產(chǎn)環(huán)境與開發(fā)環(huán)境。二、cross-env(跨平臺(tái)設(shè)置項(xiàng)目模式)由于給process.env設(shè)置NODE_ENV表示模式,在不同電腦上設(shè)置的方式是不一樣的,所以cross-env就來了,它可以跨平臺(tái)設(shè)置環(huán)境和使用環(huán)境變量。使用流程在webpack項(xiàng)目中安裝cross-env模塊cnpmicross-env-D通過腳本使用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配置文件的合并通過上面的操作我們已經(jīng)可以在webpack的配置文件里面實(shí)現(xiàn)模式的判斷了,但是這里還存在一個(gè)問題,那就是如果代碼全部都放在一個(gè)文件里面,這個(gè)文件會(huì)變得非常臃腫且不好擴(kuò)展與維護(hù)但是如果徹底的分開的話,有和最開始沒什么兩樣了,那么能不能有個(gè)折中的辦法呢?很明顯,有的。我們可以建立一個(gè)公共的webpack配置文件,這個(gè)文件里面把開發(fā)和生產(chǎn)的公共配置部分取出來放入其中,然后單獨(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市崇文區(qū)2025屆數(shù)學(xué)四下期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 西安石油大學(xué)《泌尿、生殖與內(nèi)分泌系統(tǒng)醫(yī)學(xué)教程》2023-2024學(xué)年第二學(xué)期期末試卷
- 四平職業(yè)大學(xué)《設(shè)計(jì)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 棗莊科技職業(yè)學(xué)院《職前與就業(yè)訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年全球光纖行業(yè)深度洞察:市場(chǎng)規(guī)模達(dá)480億美元 技術(shù)創(chuàng)新重塑產(chǎn)業(yè)格局
- N1叉車司機(jī)模擬試題及答案
- 頂樓樓梯欄桿施工方案
- 公墓改造現(xiàn)場(chǎng)施工方案
- 2025年科目一公路試題及答案
- 分體空調(diào)施工方案
- 提高感染性休克集束化治療完成率工作方案
- 返家鄉(xiāng)社會(huì)實(shí)踐分享
- 山東省汽車維修工時(shí)定額(T-SDAMTIA 0001-2023)
- 廣東省佛山市2022年中考一模數(shù)學(xué)試題(含答案與解析)
- 一元一次方程應(yīng)用題-順流逆流問題專項(xiàng)訓(xùn)練(含解析)
- 江蘇省小學(xué)語文教師基本功大賽試題及答案
- 安全風(fēng)險(xiǎn)分級(jí)管控與-隱患排查治理雙重預(yù)防制度
- 亞洲的人文環(huán)境
- 普通診所污水、污物、糞便處理方案及周邊環(huán)境情況說明
- 醫(yī)院病歷體格檢查表范本
- 二次供水設(shè)備保養(yǎng)維修方案(完整)
評(píng)論
0/150
提交評(píng)論