摘要:本文是關於前後端分離專案的技術與框架選型通用方案,是一個比較成熟的方案。目前大部分公司也是採用這個體系。
一、系統架構
整個系統會由三部分組成,如下
二、細節
1、前端
前端這裡是一個純前端的專案,使用webpack打包後就只有一些js/css等靜態檔案。
開發語言與框架
vue+webpakc+axios
部署方式
靜態js/css/html檔案直接部署到ngnix所在機器的一個目錄,然後ngnix設定對映到該目錄
技術難點
跨域帶cookies,跨域cookies共享
解決方法
前臺使用fetch/axios請求ajax都可以設定允許跨域帶cookies,同時中臺也要設定可以跨域。針對cookie共享的問題,可以將cookie寫到根域名之下。
2、中臺
中臺是一個war包專案,直接放到tomcat下面就行
開發語言
Java+springMvc+spring+Dubbo+Tomcat
部署方式
將工程打包成war包,部署到tomcat之上,注意這裡的war包是沒有頁面的,它只是為上面1中的前端工程提供ajax請求的地址
技術難點
方案比較成熟,無技術難點
3、後臺
後臺是一個純後臺專案,用java語言
開發語言
Java+Spring+Mybatis+Dubbo
部署方式
打一個配置分離的包,包含lib、conf、bin三個目錄。使用dubbo啟動指令碼來啟動為中颱提供服務(參考筆者的這個文章:Dubbo應用啟動與停止指令碼,超詳細解析)
技術難點
方案比較成熟,無技術難點
三、思考
其實,中臺的專案可以不用,只不過後臺的java介面要找到一個能直接http請求的方案。