Vite?vue3多頁(yè)面入口打包以及部署踩坑實(shí)戰(zhàn)
為什么需要多入口?
公司原生的移動(dòng)端上需要用webview引入一些性能要求不高的H5頁(yè)面,初步考慮后選擇用vue試個(gè)水,前期頁(yè)面跳轉(zhuǎn)選擇使用vue-router,測(cè)試過(guò)程中在安卓高版本下右滑返回效果尚可,ios端初步嘗試使用的最左側(cè)touch事件移動(dòng)距離檢測(cè)以及router判斷index添加過(guò)場(chǎng)動(dòng)畫,但是整體的效果依然達(dá)不到下圖的效果.
原先項(xiàng)目中是使用多個(gè)html頁(yè)面以及原生自帶的協(xié)議去打開html,跳轉(zhuǎn)是直接跳轉(zhuǎn)到另一個(gè)html頁(yè)面,就可以做個(gè)右滑返回時(shí)拖動(dòng)的效果,所以項(xiàng)目最終選擇了打包成多頁(yè)面的方式
一.改造項(xiàng)目
將不同頁(yè)面的內(nèi)容分在不同的pages下,每個(gè)pages里的文件夾相當(dāng)于一個(gè)單體項(xiàng)目,單獨(dú)引入了main.ts和index.html,公共組件與utils等配置與原先不變
要注意多頁(yè)面每個(gè)入口index.html的main.ts的src需要修改
二.vite.config.ts配置
主要與多頁(yè)面相關(guān)的內(nèi)容
具體配置項(xiàng)可查閱vite文檔
1.root設(shè)置為src文件夾內(nèi)(項(xiàng)目入口)
2.envDir (檢測(cè)環(huán)境變量文件所在文件夾)
因?yàn)閞oot設(shè)為了src所以需要../回到上一層,也可以把.env文件放到src內(nèi)
3.主要內(nèi)容是build.rollupOptions中input的配置
manange,detail,increase是配置的每一個(gè)頁(yè)面的html入口
增加了一個(gè)entry作為整個(gè)項(xiàng)目的入口index.html
同時(shí)在這個(gè)html文件中做了一個(gè)重定向
方便我們運(yùn)行項(xiàng)目后打開3000端口直接跳到實(shí)際的入口
4.outDir與emptyOutDir選項(xiàng)
因?yàn)槲覀兊捻?xiàng)目root設(shè)為src文件夾里,所以設(shè)置outDir為../dist
返回上一級(jí)把打包生成的文件夾的位置放在項(xiàng)目文件夾下
emptyOutDir是因?yàn)槟J(rèn)只清空root下dist文件的內(nèi)容
設(shè)為true自己清空dist文件夾內(nèi)容
5.base的設(shè)置比較重要
直接關(guān)系到我們打包后的項(xiàng)目能否成功運(yùn)行
這里使用'/'即可,打包完成后可以在編輯器打開dist文件夾
在每個(gè)入口的index.html里
ctrl+左鍵去訪問(wèn)js,css資源,能夠訪問(wèn)成功說(shuō)明路徑正確
這里有個(gè)坑是我們必須用編輯器打開dist文件夾,再去訪問(wèn)js,css資源才能夠訪問(wèn)到.起初我直接用live sever去打開index.html引入資源時(shí)直接404了,可以看到打包后html頁(yè)面引用資源的路徑是/static/xxx,推測(cè)這里的問(wèn)題應(yīng)該與相對(duì)路徑有關(guān),有大佬知道的可以詳細(xì)說(shuō)說(shuō)
打包好的dist長(zhǎng)這樣
三.部署
部署選擇的是nginx,我們將打包好的dist放在nginx的html目錄下,在conf文件里配置server,指定端口與location,root的路徑是放dist的位置
保存配置后重啟nginx即可訪問(wèn)指定端口直接自動(dòng)重定向到設(shè)置的入口
可以看到資源文件已經(jīng)都請(qǐng)求到了
總結(jié)
多頁(yè)面入口的配置的思想其實(shí)就是每個(gè)入口html文件配置單獨(dú)的main.ts與app.vue,同時(shí)每個(gè)main.ts里實(shí)例化一個(gè)vue,類似于最開始學(xué)習(xí)vue時(shí),在html頁(yè)面引入vuejs,然后每個(gè)html new一個(gè)vue,主要容易踩坑的地方就是引用的路徑問(wèn)題.相對(duì)路徑這塊需要好好考慮.
到此這篇關(guān)于Vite vue3多頁(yè)面入口打包以及部署踩坑的文章就介紹到這了,更多相關(guān)Vite vue3多頁(yè)面入口打包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
總結(jié)Vue Element UI使用中遇到的問(wèn)題
這篇文章主要介紹了Vue Element UI使用中遇到的問(wèn)題,對(duì)ElementUI感興趣的同學(xué),可以參考下2021-05-05Vuex子模塊調(diào)用子模塊的actions或mutations實(shí)現(xiàn)方式
這篇文章主要介紹了Vuex子模塊調(diào)用子模塊的actions或mutations實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10vite的proxy查看真實(shí)請(qǐng)求地址方式詳解
這篇文章主要為大家介紹了vite的proxy查看真實(shí)請(qǐng)求地址方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11vue.js指令v-for使用以及下標(biāo)索引的獲取
今天小編就為大家分享一篇關(guān)于vue.js指令v-for使用以及下標(biāo)索引的獲取,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01詳解用vue2.x版本+adminLTE開源框架搭建后臺(tái)應(yīng)用模版
這篇文章主要介紹了用vue2.x版本+adminLTE開源框架 搭建后臺(tái)應(yīng)用模版,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03在vue中對(duì)數(shù)組值變化的監(jiān)聽與重新響應(yīng)渲染操作
這篇文章主要介紹了在vue中對(duì)數(shù)組值變化的監(jiān)聽與重新響應(yīng)渲染操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07vue使用prop可以渲染但是打印臺(tái)報(bào)錯(cuò)的解決方式
今天小編就為大家分享一篇vue使用prop可以渲染但是打印臺(tái)報(bào)錯(cuò)的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11vue.js+elementUI實(shí)現(xiàn)點(diǎn)擊左右箭頭切換頭像功能(類似輪播圖效果)
這篇文章主要介紹了vue.js+elementUI實(shí)現(xiàn)點(diǎn)擊左右箭頭切換頭像功能(類似輪播圖),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09