返回
Vue后端管理项目中搞定配置多端口号困扰,从此办公无忧
前端
2023-02-05 23:14:16
配置 Vue 后端管理项目的多个端口号:告别繁琐
作为 Vue 后端管理项目开发人员,您是否曾因配置多个端口号而苦恼不已?同时运行前端和后端服务时,切换不同端口号往往令人头痛。不过,通过本文提供的解决方案,您将能轻松解决这一问题。
问题背景
过去,我们使用拼接简写的方式来配置端口号,这给使用多个端口号带来了不便。例如,在尚品汇项目中,代码如下所示:
// vue.config.js
proxyTable: {
'/api': {
target: 'http://localhost:' + process.env.VUE_APP_SERVER_PORT
}
}
解决方案
一位经验丰富的开发者为我们指明了方向,我们对代码进行了如下修改:
// vue.config.js
proxyTable: {
'/dev-api': {
target: 'http://localhost:8080',
changeOrigin: true,
pathRewrite: {
'^/dev-api': ''
}
},
'/dev1-api': {
target: 'http://localhost:8081',
changeOrigin: true,
pathRewrite: {
'^/dev1-api': ''
}
}
}
// request.js
const baseURL = process.env.VUE_APP_BASE_API;
跨域代理配置
首先,我们在 vue.config.js
文件中配置跨域代理,允许前端访问后端服务:
devServer: {
proxy: {
'/dev-api': {
target: 'http://localhost:8080',
changeOrigin: true,
pathRewrite: {
'^/dev-api': ''
}
},
'/dev1-api': {
target: 'http://localhost:8081',
changeOrigin: true,
pathRewrite: {
'^/dev1-api': ''
}
}
}
}
Request.js 配置
接下来,我们在 request.js
文件中配置请求基准 URL:
const baseURL = process.env.VUE_APP_BASE_API;
多个端口号引用
在引用接口时,我们在 URL 前补充对应的端口号前缀:
// 登录接口
this.$request({
url: '/dev-api/login',
method: 'post',
data: {
username: 'admin',
password: '123456'
}
});
// 商品列表接口
this.$request({
url: '/dev1-api/products',
method: 'get'
});
总结
通过这些步骤,您可以在 Vue 后端管理项目中轻松配置多个端口号。这种方法不仅简化了代码,还提高了开发效率。希望本文对您有所帮助,让您在 Vue 后端管理项目开发中游刃有余。
常见问题解答
- 我无法在多个端口号之间切换,该怎么办?
确保您在vue.config.js
文件中正确配置了端口号代理,并且在request.js
文件中设置了正确的基准 URL。 - 跨域代理无法工作,提示“CORS header 'Access-Control-Allow-Origin' missing”错误。
检查您的后端服务器是否正确设置了 CORS 头。 - 为什么我必须在每个请求 URL 前加上端口号前缀?
这是跨域代理的限制,它要求您指定代理目标 URL 的端口号。 - 如何配置动态端口号?
您可以使用process.env.PORT
环境变量从环境中获取端口号。 - 是否可以通过其他方式配置多个端口号?
有一种方法是使用 Nginx 或 Apache 等 Web 服务器作为代理,但这种方法更复杂。