版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第vue項(xiàng)目打包以及優(yōu)化的實(shí)現(xiàn)步驟項(xiàng)目完成,我們會(huì)將項(xiàng)目進(jìn)行上線,為了提升性能,我們往往會(huì)進(jìn)行一些優(yōu)化處理
vue項(xiàng)目的打包
腳手架項(xiàng)目中有一個(gè)默認(rèn)的打包命令,我們可以輸入npmrunbulid來對(duì)項(xiàng)目進(jìn)行打包
打開終端,切換到項(xiàng)目根目錄
輸入命令:npmrunbuild
會(huì)在當(dāng)前項(xiàng)目的根目錄下生成一個(gè)dist文件夾,里面就是打包后的文件
我們可以創(chuàng)建一個(gè)簡(jiǎn)易的node服務(wù)器來托管打包后的項(xiàng)目,這樣就可以模擬訪問服務(wù)器的項(xiàng)目
1.創(chuàng)建一個(gè)新的目錄做為服務(wù)器根目錄,小黑窗執(zhí)行nodeinit-y執(zhí)行初始化,再執(zhí)行npmiexpress下載express包,然后創(chuàng)建app.js文件將下面代碼拷貝進(jìn)來(利用express包開一個(gè)服務(wù)器)
2.將剛剛打包生成的dist目錄整體拷貝到node服務(wù)器目錄下
3.資源在dist目錄下,所以可以使用靜態(tài)資源托管的方式提供資源,將dist目錄做為資源托管目錄
express創(chuàng)建服務(wù)器
varexpress=require(express)
constpath=require(path)
//2.創(chuàng)建服務(wù)器
varapp=express();
//托管靜態(tài)資源
//也可以將所有靜態(tài)資源放置到指定的目錄下,如public,然后添加以下的配置
app.use(express.static(dist))
app.use(/,express.static(path.join(__dirname,dist)))
//3.開啟服務(wù)器并監(jiān)聽端口
app.listen(3001,()={
console.log(:3001)
啟動(dòng)服務(wù)器
在服務(wù)器目錄下打開終端,輸入nodeapp.js
在瀏覽器中輸入服務(wù)器地址
項(xiàng)目的常見優(yōu)化
項(xiàng)目打包之后,會(huì)將之前所使用到的部署依賴包和項(xiàng)目中使用到的外部資源都打包
如果之前引入的包很多,或者引入的不必需的包,那么會(huì)增大項(xiàng)目的體積,從而造成用戶訪問的時(shí)候需要請(qǐng)求更多的數(shù)據(jù)才能正常的訪問,不利于用戶體驗(yàn),所以需要對(duì)打包過程進(jìn)行優(yōu)化
一般情況下我們可以從優(yōu)化代碼的方面對(duì)項(xiàng)目進(jìn)行優(yōu)化,也可以使用類似cdn的方式對(duì)項(xiàng)目進(jìn)行優(yōu)化
腳手架中提供了一個(gè)命令,可以讓我們看到項(xiàng)目的資源的分布(占用)情況:npmrunbuild--report
生成項(xiàng)目報(bào)告文件
npmrunbuild--report
打開報(bào)告頁面
1.報(bào)告頁面中,越大的塊說明這個(gè)模板占用的體積越大
2.占用體積越越大的模塊,我們要考慮不將其打包到產(chǎn)品中
cdn加速優(yōu)化
cdn:CDN的本質(zhì)上是將媒體資源,動(dòng)靜態(tài)圖片(Flash),HTML,CSS,JS等等內(nèi)容緩存到距離你更近的IDC,從而讓用戶進(jìn)行共享資源,實(shí)現(xiàn)縮減站點(diǎn)間的響應(yīng)時(shí)間等等需求,而網(wǎng)游加速器的本質(zhì)則是通過建立高帶寬機(jī)房,架設(shè)多節(jié)點(diǎn)服務(wù)器來為用戶進(jìn)行加速。
我們可以將一些大體積的模塊,讓cdn幫我們提供相應(yīng)的資源,這樣就可以緩解我們自己的服務(wù)器的壓力,同時(shí)提供更快更好的資源響應(yīng)
vue.config.js
在腳手架項(xiàng)目中,如果想增加自己的項(xiàng)目配置,可以在根目錄下添加vue.config.js文件,在這個(gè)文件中實(shí)現(xiàn)自定義的配置
在打包的時(shí)候,這個(gè)配置會(huì)和腳手架的配置組合到一起
添加包的排除
module.exports={
configureWebpack:{
externals:{
vue:Vue,
element-ui:ELEMENT,
quill:Quill
可以看到,打包后的項(xiàng)目體積顯著的減少,但是,問題并沒有解決,由于沒有這些包,打包后的項(xiàng)目并不能運(yùn)行
這是因?yàn)?,現(xiàn)在打包的項(xiàng)目中,已經(jīng)沒有Vue這個(gè)包了,所以才會(huì)出現(xiàn)錯(cuò)誤,我們現(xiàn)在需要使用cdn的方式來提供這些資源
添加cdn的用戶自定義
vue.config.js中加入下面代碼
letcdn={
css:[
//element-uicss
/element-ui/lib/theme-chalk/index.css,//樣式表
//富文本框插件樣式
/ajax/libs/quill/2.0.0-dev.4/quill.bubble.css
js:[
//vuemustatfirst!
/vue/dist/vue.js,//vuejs
//element-uijs
/element-ui/lib/index.js,//elementUI
//富文本框插件
/ajax/libs/quill/2.0.0-dev.4/quill.js
通過插件將資源自動(dòng)的添加到頁面中
掛載資源到插件
module.exports={
//添加打包排除,說明以下配置中的包將來不會(huì)打包到項(xiàng)目中
configureWebpack:{
externals:{
vue:Vue,
element-ui:ELEMENT,
quill:Quill
//將cdn的資源掛載到插件上
chainWebpack(config){
config.plugin(html).tap(args={
args[0].cdn=cdn
returnargs
在頁面中使用插件添加指定的cdn資源,在項(xiàng)目中的public中index中加入下面代碼(項(xiàng)目打包前的index文件)
添加css引入(head結(jié)構(gòu)中)
%for(varcssofhtmlWebpackPlugin.options.cdn.css){%
linkrel=stylesheethref=%=css%/
%}%
添加js引入(body結(jié)構(gòu)中)
%for(varjsofhtmlWebpackPlugin.options.cdn.js){%
scriptsrc=%=js%/script
%}%
重新打包,OK
設(shè)置只有產(chǎn)品階段才使用cdn
在項(xiàng)目開發(fā)的時(shí)候,其實(shí)沒有必要使用cdn,這樣反而會(huì)讓我們的頁面加載效率下降,同時(shí)也不適合本地開發(fā)(需要連網(wǎng))
我們可以根據(jù)環(huán)境變量進(jìn)行相應(yīng)的處理,只有在產(chǎn)品的時(shí)候,才讓插件去自動(dòng)注
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省2025秋九年級(jí)英語全冊(cè)Unit7Teenagersshouldbeallowedtochoosetheirownclothes易錯(cuò)考點(diǎn)專練課件新版人教新目標(biāo)版
- 2025年秘魯瑪卡項(xiàng)目建議書
- PPH術(shù)后活動(dòng)量控制
- 女性運(yùn)動(dòng)與健身指導(dǎo)
- 急診PCI術(shù)后患者康復(fù)護(hù)理措施
- 吸煙危害的課件
- 產(chǎn)后抑郁的飲食調(diào)理與營(yíng)養(yǎng)支持
- 聽課件浪費(fèi)時(shí)間
- 大腦隱球菌病的護(hù)理
- 胃癌患者的臨終關(guān)懷與護(hù)理
- 危重患者的容量管理
- 2025秋四年級(jí)上冊(cè)勞動(dòng)技術(shù)期末測(cè)試卷(人教版)及答案(三套)
- 2025年應(yīng)急物資準(zhǔn)備安全培訓(xùn)試卷及答案:物資管理人員應(yīng)急物資使用測(cè)試
- 電商售后客服主管述職報(bào)告
- 2025昆明市呈貢區(qū)城市投資集團(tuán)有限公司及下屬子公司第一批招聘(12人)筆試考試參考試題及答案解析
- 受控文件管理流程
- GB/T 30341-2025機(jī)動(dòng)車駕駛員培訓(xùn)教練場(chǎng)技術(shù)要求
- 2025年黑龍江省哈爾濱市中考數(shù)學(xué)真題含解析
- 2026年湖南現(xiàn)代物流職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫附答案
- 河北省2025年職業(yè)院校嵌入式系統(tǒng)應(yīng)用開發(fā)賽項(xiàng)(高職組)技能大賽參考試題庫(含答案)
- 2025譯林版新教材初中英語八年級(jí)上冊(cè)單詞表(復(fù)習(xí)必背)
評(píng)論
0/150
提交評(píng)論