Vue——请求转发配置解决方案
問題描述
當(dāng)使用Vue和Spring Boot開發(fā)前后端分離項(xiàng)目時(shí),由于前端項(xiàng)目和后端項(xiàng)目在不同的端口下啟動(dòng),前端的網(wǎng)絡(luò)請(qǐng)求無法直接發(fā)送到后端。
問題分析
對(duì)前端服務(wù)器配置請(qǐng)求轉(zhuǎn)發(fā)。
注:修改了配置文件(包括 config目錄下的index.js文件?或者 vue.config.js)之后必須重啟,否則不會(huì)生效。
解決方案
Vue 2
修改config目錄下的index.js文件,修改proxyTable,代碼如下:
proxyTable:{'/':{target:'http://localhost:8082', #這個(gè)就是后端的地址。changeOrigin:true,pathRewrite:{'^/':''}},'/ws/*':{target:'ws://127.0.0.1:8082',ws:true}},將所有的/開頭的請(qǐng)求轉(zhuǎn)發(fā)到8082的端口的地址上去。
Vue 3
在使用vue-cli3創(chuàng)建項(xiàng)目后,因?yàn)閣ebpack的配置均被隱藏了,當(dāng)你需要覆蓋原有的配置時(shí),則需要在項(xiàng)目的根目錄下,新建vue.config.js文件,來配置新的配置。?
module.exports = {/* 部署生產(chǎn)環(huán)境和開發(fā)環(huán)境下的URL:可對(duì)當(dāng)前環(huán)境進(jìn)行區(qū)分,baseUrl 從 Vue CLI 3.3 起已棄用,要使用publicPath */ /* baseUrl: process.env.NODE_ENV === 'production' ? './' : '/' */publicPath: process.env.NODE_ENV === 'production' ? '/public/' : './',/* 輸出文件目錄:在npm run build時(shí),生成文件的目錄名稱 */outputDir: 'dist',/* 放置生成的靜態(tài)資源 (js、css、img、fonts) 的 (相對(duì)于 outputDir 的) 目錄 */assetsDir: "assets",/* 是否在構(gòu)建生產(chǎn)包時(shí)生成 sourceMap 文件,false將提高構(gòu)建速度 */productionSourceMap: false,/* 默認(rèn)情況下,生成的靜態(tài)資源在它們的文件名中包含了 hash 以便更好的控制緩存,你可以通過將這個(gè)選項(xiàng)設(shè)為 false 來關(guān)閉文件名哈希。(false的時(shí)候就是讓原來的文件名不改變) */filenameHashing: false,/* 代碼保存時(shí)進(jìn)行eslint檢測(cè) */lintOnSave: true,/* webpack-dev-server 相關(guān)配置 */devServer: {/* 自動(dòng)打開瀏覽器 */open: true,/* 設(shè)置為0.0.0.0則所有的地址均能訪問 */host: '0.0.0.0',port: 8066,https: false,hotOnly: false,/* 使用代理 */proxy: {'/api': {/* 目標(biāo)代理服務(wù)器地址 */target: 'http://47.100.47.3/',/* 允許跨域 */changeOrigin: true,},},}, }參考文章
https://blog.csdn.net/chenglinben/article/details/89892520
https://www.dazhuanlan.com/2019/12/14/5df3cfe24cbc5/
https://www.jianshu.com/p/13ebaad99fe6
https://segmentfault.com/a/1190000019319980?utm_source=tag-newest
總結(jié)
以上是生活随笔為你收集整理的Vue——请求转发配置解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue + Bootstrap|Elem
- 下一篇: C#——委托(delegate)DEMO