SpringBoot+Vue 前后端合并部署的配置方法
前后端分離開發(fā)項(xiàng)目
前端vue項(xiàng)目
服務(wù)端springboot項(xiàng)目
如何將vue的靜態(tài)資源整合到springboot項(xiàng)目里,通過(guò)啟動(dòng)jar包的方式部署服務(wù)。
前端項(xiàng)目執(zhí)行npm run build命令進(jìn)行打包,會(huì)自動(dòng)生成打包后的dist目錄文件所有東西放置在Resources/static文件下,如下圖
此處index.html文件的資源路徑(需要在前端打包配置中進(jìn)行配置)應(yīng)該如下圖:
對(duì)應(yīng)的springboot:application.yml需添加:
server: port: 8080 tomcat: uri-encoding: UTF-8spring: application: name: 'xxxx' servlet: application-display-name: myProject mvc: static-path-pattern: /static/**
為了解決vue-router路由的路徑無(wú)法正常解析
將vue-router中的路徑加上統(tǒng)一的前綴“/vueXX”(自定義),然后在springboot項(xiàng)目中自定義過(guò)濾器,攔截帶“/vueXX”的路徑,將請(qǐng)求轉(zhuǎn)發(fā)到“/index.html”(將vue的路由資源交給路由處理)。
啟動(dòng)類中需添加:
public class MyProJect { public static void main(String[] args) { SpringApplication.run(MyProJect.class,args); } @Bean public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){ return factory -> { ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, '/static/index.html'); factory.addErrorPages(error404Page); }; }}
如果在項(xiàng)目中配置了過(guò)濾器:需要在過(guò)濾器中去除對(duì)應(yīng)的資源文件后綴的過(guò)濾條件。
配置至此,啟動(dòng)項(xiàng)目應(yīng)該是可以訪問(wèn)到頁(yè)面。可以在瀏覽器打開調(diào)試工具,查看NetWork下的請(qǐng)求地址是否成功再進(jìn)行排查。
到此這篇關(guān)于SpringBoot+Vue 前后端合并部署的文章就介紹到這了,更多相關(guān)SpringBoot+Vue 合并部署內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. Python importlib動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼3. android studio 打包自動(dòng)生成版本號(hào)與日期,apk輸入路徑詳解4. 利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法5. 淺談python出錯(cuò)時(shí)traceback的解讀6. 在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解7. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法8. Nginx+php配置文件及原理解析9. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析
