前言html
經常使用的部署方式有兩種:vue
1.是把生成好的靜態頁面放到spring boot的static目錄下,與打包後的spring boot項目一塊兒發佈,當spring boot運行起來後,天然而然就能訪問到靜態頁面文件了。nginx
這種方法比較簡單,適用於很是小型的系統。優勢是:不須要複雜的配置。而缺點也很明顯:須要二者一同發佈。我在這裏就不作贅述了。git
2.是經過http服務器發佈,本文以nginx爲例,重點介紹這種方式。github
1、生成靜態頁面spring
運行npm run buildnpm
生成的頁面文件在dist目錄下:windows
2、配置nginx後端
windows系統下載nginx:http://nginx.org/en/download.htmlapi
下載完解壓後,找到conf/nginx.conf文件,並修改:
worker_processes 1; events { worker_connections 1024; } http { include mime.types; server { listen 80; server_name localhost; # 靜態文件夾路徑 root 你的路徑; index index.html index.htm; # 後端配置 location /api/ { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 後端url proxy_pass http://localhost:18080/; } } }
其中,root項目是配置靜態網頁文件所在的路徑,配置成你本身的目錄。
location是配置spring boot項目跨域,這裏我配置了當匹配到有「/api/」開頭的請求,就會轉到spring boot的項目中處理。
運行效果以下圖所示:
訪問nginx的地址,就能訪問到以前生成的靜態頁面和spring boot的後端。
而這就是先後端分離開發的魅力所在。
git代碼地址:https://github.com/carter659/spring-boot-vue-element.git
若是你以爲個人博客對你有幫助,能夠給我點兒打賞,左側微信,右側支付寶。
有可能就是你的一點打賞會讓個人博客寫的更好:)