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