摘要:本文是關於前後端分離項目的技術與框架選型通用方案,是一個比較成熟的方案。目前大部分公司也是採用這個體系。
一、系統架構
整個系統會由三部分組成,如下
二、細節
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請求的方案。