Vue項(xiàng)目服務(wù)器部署之子目錄部署方法
Vue項(xiàng)目尤其是基于.vue單文件格式的項(xiàng)目部署,在build成js文件后發(fā)布到服務(wù)器上,一般都是通過nginx反向代理到跟文件目錄后直接訪問,然而由于很多時(shí)候沒辦法使用更多的子域名(比如微信公眾號(hào)只能有一個(gè)域名),所以急需將服務(wù)器部署到子目錄。本經(jīng)驗(yàn)以一次成功的系統(tǒng)部署為例,講解子目錄方式部署Vue工程。
首先介紹一下Poi,我們的項(xiàng)目沒有使用webPack進(jìn)行前端工程項(xiàng)目管理,使用了Poi進(jìn)行管理:Develop web apps with no build configuration until you need.也就是說Poi對(duì)webpack進(jìn)行了封裝,0配置開發(fā)Web應(yīng)用??梢允褂胮oi.config.js文件配置poi的配置,也可以直接在package.json中進(jìn)行配置。
執(zhí)行npm run dev相當(dāng)于執(zhí)行poi,執(zhí)行npm run dist相當(dāng)于執(zhí)行poi build.執(zhí)行poi build打包后,會(huì)將static目錄下的資源拷貝到dist目錄,其他的js和css會(huì)自動(dòng)壓縮成.js 和.css并且注入到index.html中。
poi項(xiàng)目如果需要打包到子目錄,必須設(shè)置homePage為子目錄。這是第一步
第二步,必須將index.html中其他非Vue部分的資源增加子目錄的前綴,包括網(wǎng)站的icon.
第三步保證Css文件中的資源路徑為相對(duì)路徑。
第四步,需要修改vueRouter中的base為子目錄。
然后執(zhí)行npm run dev 也就是npm build.觀察打包后的index.html,css文件等。
然后配置nginx到二級(jí)目錄:
location /ticket { alias /root/java/ticket/dist/; try_files $uri $uri/ @rewrites; } location @rewrites { rewrite ^/(ticket|sign|reimburse)/(.+)$ /$1/index.html last; }這里$1對(duì)應(yīng)url中的ticket,由于我這里有多個(gè)項(xiàng)目共用了rewrite所以邏輯或了三個(gè),如果只有一個(gè)子目錄,使用^/(ticket)/(然后配置nginx到二級(jí)目錄: location /ticket { alias /root/java/ticket/dist/; try_files $uri $uri/ @rewrites; } location @rewrites { rewrite ^/(ticket|sign|reimburse)/(.+)$ /$1/index.html last; }這里$1對(duì)應(yīng)url中的ticket,由于我這里有多個(gè)項(xiàng)目共用了rewrite所以邏輯或了三個(gè),如果只有一個(gè)子目錄,使用^/(ticket)/(.+)$,這里切記要把ticket擴(kuò)起來。
這里切記要把ticket擴(kuò)起來。
項(xiàng)目部署成功!
相關(guān)文章
Vue 2.0的數(shù)據(jù)依賴實(shí)現(xiàn)原理代碼簡析
本篇文章主要介紹了Vue 2.0的數(shù)據(jù)依賴實(shí)現(xiàn)原理代碼簡析,主要從初始化的數(shù)據(jù)層面上分析了Vue是如何管理依賴來到達(dá)數(shù)據(jù)的動(dòng)態(tài)響應(yīng),有興趣的可以了解一下2017-07-07vue 解決uglifyjs-webpack-plugin打包出現(xiàn)報(bào)錯(cuò)的問題
這篇文章主要介紹了vue 解決uglifyjs-webpack-plugin打包出現(xiàn)報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08Vue模擬響應(yīng)式原理底層代碼實(shí)現(xiàn)的示例
最近去面試的人都會(huì)有這個(gè)體會(huì),去年面試官只問我怎么用vue,今年開始問我vue響應(yīng)式原理,本文就詳細(xì)的介紹一下2021-08-08