vue項(xiàng)目部署到nginx/tomcat服務(wù)器的實(shí)現(xiàn)
開(kāi)發(fā)完的vue項(xiàng)目,需要部署到Nginx/Tomcat服務(wù)器上運(yùn)行,作為一個(gè)前端小白,剛接觸vue不久,研究了一番,于是寫(xiě)下這篇文章,記錄下來(lái)便于今后部署。
1.router(history)模式vue項(xiàng)目部署到nginx
1)修改router模式為history(默認(rèn)為hash)
const router = new VueRouter({ routes, mode: 'history' });
對(duì)路由模式不清楚的小伙伴,可以看這篇vue-router路由模式詳解
2)修改config/index.js,build下靜態(tài)資源路徑,完成后執(zhí)行npm run build打包
3)修改nginx配置
server { listen 80;//代理端口 server_name 192.168.0.152;//代理名稱(域名、ip) #charset koi8-r; #access_log logs/host.access.log main; location / { root test; //項(xiàng)目存放的地址(當(dāng)前服務(wù)器位置) index /index.html; try_files $uri $uri/ @router; //一個(gè)覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態(tài)資源,返回同一個(gè) index.html 頁(yè)面 } location @router { rewrite ^.*$ /index.html last; } }
運(yùn)行結(jié)果:
2.vue項(xiàng)目部署到tomcat
1)項(xiàng)目上線,一般需要添加項(xiàng)目名,并且消去vue-router產(chǎn)生的#號(hào),需要在router配置
const router = new VueRouter({ routes, mode: 'history', base: '/test/'//項(xiàng)目名稱 訪問(wèn)路由頁(yè)面都需要加上這個(gè),訪問(wèn)的根路徑為http://ip:port/test });
2)修改config/index.js,build下靜態(tài)資源路徑與base的取值一致
3)tomcat的配置
在tomcat的webapps新建文件夾,文件夾名稱和上面配置的根路徑一致,即為test,然后將打包生成的dist文件夾里面的文件復(fù)制到test下,并且新建文件WEB-INF/web.xml。
項(xiàng)目結(jié)構(gòu)為:
WEB-INF目錄下新增web.xml內(nèi)容為:
//覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態(tài)資源,返回同一個(gè) index.html頁(yè)面 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"> <display-name>Router for Tomcat</display-name> <error-page> <error-code>404</error-code> <location>/index.html</location> </error-page> </web-app>
詳細(xì)了解可看vue官方文檔后端配置HTML5 History 模式
4)重新啟動(dòng)tomcat
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue.js實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片切換
這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07Vue高級(jí)組件之函數(shù)式組件的使用場(chǎng)景與源碼分析
Vue提供了一種稱為函數(shù)式組件的組件類型,用來(lái)定義那些沒(méi)有響應(yīng)數(shù)據(jù),也不需要有任何生命周期的場(chǎng)景,它只接受一些props來(lái)顯示組件,下面這篇文章主要給大家介紹了關(guān)于Vue高級(jí)組件之函數(shù)式組件的使用場(chǎng)景與源碼分析的相關(guān)資料,需要的朋友可以參考下2021-11-11淺談element關(guān)于table拖拽排序問(wèn)題
本文主要介紹了element關(guān)于table拖拽排序問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10手把手教你vue-cli單頁(yè)到多頁(yè)應(yīng)用的方法
本篇文章主要介紹了手把手教你vue-cli單頁(yè)到多頁(yè)應(yīng)用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Vue2.0子同級(jí)組件之間數(shù)據(jù)交互方法
下面小編就為大家分享一篇Vue2.0子同級(jí)組件之間數(shù)據(jù)交互方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02五種Vue實(shí)現(xiàn)加減乘除運(yùn)算的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了五種Vue實(shí)現(xiàn)加減乘除運(yùn)算的方法,文中的示例代碼簡(jiǎn)潔易懂,對(duì)我們深入了解vue有一定的幫助,需要的可以了解下2023-08-08