前端配置了代理,但是请求没走代理地址,还是走的localhost,导致我在其他电脑访问,请求不了我的接口。
控制台是看不出转发的,是在内部转发的。 改了代理要重新启动vue项目
在vue.config.js文件新增:
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
devServer: {
open: true,
host: 'localhost',
port: 8080
}
})
再次启动项目,浏览器自动打开http://localhost:8080
问题分析: 根据提供的代码和问题描述,可以看出是在前端项目中配置了代理,但是请求没有通过代理地址,而是直接发送到localhost,导致其他电脑无法访问接口。
解决方案: 1. 在config/index.js
文件中配置代理,修改proxyTable
选项,将要代理的请求路径和代理地址进行匹配,例如:
javascript proxyTable: { '/api': { target: 'http://your-proxy-address', changeOrigin: true, pathRewrite: { '^/api': '' } } }
这样当请求路径以/api
开头时,会被代理到http://your-proxy-address
地址。
/api
开头。例如,在getQualitySafetyItems
函数中,将请求路径修改为'/api/your-api-path'
。```javascript // 修改前 getQualitySafetyItems(this.searchForm)
// 修改后 getQualitySafetyItems('/api/your-api-path', this.searchForm) ```
这样请求的路径就会是http://your-proxy-address/your-api-path
,而不是直接发送到localhost
。
npm run dev
或者yarn dev
来启动项目。bash npm run dev
或
bash yarn dev
这样重新启动项目后,请求应该会经过代理地址。
如果以上步骤都没有解决问题,可能需要进一步排查代码或获取更多的上下文信息。