Vue后台管理项目中解决需要配置多个端口号问题
背景
登录接口:http://39.98.123.211:8170/
商品接口:http://39.98.123.211:8510/
可见前面是地址是一致的,但是端口号不一样。
这就会导致,登录进得去,但是获取数据的时候,没有办法取数据;或者登录不进,但是数据取得到。无论哪一种都不是我们想要的。
项目中,教程代码写的如下:
在vue.config.js中配置跨域代理
proxy: {
'/dev-api': {
target: 'http://39.98.123.211:8170',
pathRewrite: { '^/dev-api': '' },
},
用axios封装了一个request.js:
// create an axios instance
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 5000 // request timeout
})
.env.development中:可见其是拼接了VUE_APP_BASE_API这个路径:我们写什么他自动给我们拼接上去。
解决
经过前辈指点改写代码如下:
不采用教程里拼接简写这种写法了。
在vue.config.js中配置跨域代理
// 配置代理跨域
proxy: {
'/dev-api': {
target: 'http://39.98.123.211:8170',
pathRewrite: { '^/dev-api': '' },
},
'/dev1-api': {
target: 'http://39.98.123.211:8510',
pathRewrite: { '^/dev1-api': '' },
},
},
request.js:
// create an axios instance
const service = axios.create({
// baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
baseURL: '',
// withCredentials: true, // send cookies when cross-domain requests
timeout: 5000 // request timeout
})
接着在引用到接口的地方各自补充上对应的/dev-api 、/dev1-api
登录部分相关代码:
商品列表部分代码:
最后,因为我们改了vue.config.js配置文件,记得重启服务器!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!