乙個vue go echo前後端分離的專案的上線

2021-09-24 07:29:13 字數 1882 閱讀 4293

這是乙個web前後端分離專案的上線過程。解決了跨域問題~

前端用的axios,一定會遇到跨域的問題。 這裡先說一下axios的乙個坑,傳送post請求的時候,如果不是發json資料,一定要先設定一下:

複製**

新增引數為:

var params = new urlsearchparams();

axios().then(...)

複製**

還有一點,最好不要在url這個欄位上直接寫:,這樣有乙個壞處,如果佈署到生產環境(線上伺服器),比如是111.111.111.111goweb服務埠是:1222,最後請求的位址不會是你想的111.111.111.111:1222,而是127.0.0.1:1222,自然是不行的。

開發環境的伺服器大多數情況和生產環境的不一致,接上面的部分,url寫成/login。 我先說一下開發環境理想的情況吧。

axios 請求/login前端自動**成:127.0.0.1:1222/login但是實際中,怕login與vue-router中的login有衝突,也有可能有人直接ajax,所以可以在url:login前加/api, 現在的步驟是這樣的:

axios請求/login請求變成api/login請求被處理成127.0.0.1:1222/login

只要把3中的127.0.0.1:1222/login換成111.111.111.111:1222/login就是正式的生產環境啊!

在main.js中這麼寫

const ispro = object.is(process.env.node_env, 'production')

const url= ispro ? '' : 'api/'

axios.defaults.baseurl = url;

複製**

注: build產生的dist**即是生產環境下的** 上面**的作用是:

vue.config.js這麼寫(在根目錄下新建)~

module.exports = },}

}}複製**

上面**的作用是,將/api/***的請求換成localhost:1222/***

後端沒有前端那麼麻煩echo裡有實現的跨域中介軟體,直接上就ok

e.use(middleware.cors())

複製**

然後go的佈署是真的要吹一波,在winodws下直接可以編譯出linux的**,在main.go所在的目錄下直接開啟命令列輸入:

set goos=linux

set gopach=amd64

go build

複製**

當然liux直接go build main.go會出現乙個專案名無字尾的檔案。比如我的是xin (趙信信爺的意思) 直接在linux下 ./xin 就可執行。但是在伺服器中,還是要後台執行nohup ./xin &後端就結束了

檢視要用的埠有沒有被使用:lsof -i:埠號

用xftp把vue生成的dist資料夾下的檔案上傳到指定的位址,然後簡單的配置一下就可以跑了

server 

}複製**

如何搭建乙個前後端分離的專案

如下 動態請求,client nginx tomcat nginx client 靜態請求,client nginx client nginx作用 1 處理靜態請求 2 負載均衡 3 解決跨域問題 自定義標識 呼叫controller請求時都加上乙個字首,比如 con nginx處理請求時,請求如果...

如何做乙個前後端分離專案

程式設計師工作 4.前後端整合測試 前後端請求流程 專案是基於前後端分離的架構進行開發,前後端分離架構總體上包括前端和服務端,通常是多人協作並行開發,對於不同職位的人來說,有不同的側重點。1 需求分析 梳理使用者的需求,分析業務流程 2 介面定義 根據需求分析定義介面 3 服務端和前端並行開發 依據...

前後端分離(一)

一 基礎知識 2 一般處理程式 asp.net 中這種擴充套件名為ashx的程式稱為 一般處理程式 它與普通的擴充套件名為aspx的窗體網頁程式不同的是沒有html的窗體網頁 適合作為後台伺服器處理資料。二 ajax demo client.html 1 載入同目錄下的一張 2 每次點選 獲取 按鈕...