vue.js 配置了前端代理却未能生效

记录一下最近踩得小坑:

配置完代理后请一定重新执行(重要,非常重要!)

npm run dev

若重新执行命令后,代理仍为生效,请按下方步骤进行检查:

检查index.js文件中的代理是否配置正确,示例如下:

proxyTable: {

'/api': { //代理标识

target: 'http://xxx.xxx.xxx',//指向的实际地址

changeOrigin: true, // 允许跨域

pathRewrite: {

// 标识替换

// 原请求地址为 /api/getData 将'/api'替换''时,

// 代理后的请求地址为: http://xxx.xxx.xxx/getData

// 若替换为'/other',则代理后的请求地址为 http://xxx.xxx.xxx/other/getData

'^/api': ''

}

}

},

检查请求路径是否正确,以上方所配置的代理为例

// 请确认原请求中是否包含代理标识符

// 请确认接口 http://xxx.xxx.xxx/getData直接访问是否正常

this.$axios.get('/api/getData').then((r)=>{

console.log(r)

})

补充知识:vue使用proxyTable设置接口代理

1、修改config/index.js里proxyTable

proxyTable: {

'/api': {

target: 'http://192.168.42.182:8080',

changeOrigin: true,

pathRewrite: {

'^/api': '/'

}

},

}

2、修改config/dev.env.js

module.exports = merge(prodEnv, {

NODE_ENV: '"development"',

API: '"/api"' // 加入这一句

})

3、设置axios的baseUrl

export default {

get (url, params) {

return axios({

method: 'get',

baseURL: process.env.API, // 修改这里

url,

params,

timeout: 100000

}).then((response) => {

return checkStatus(response)

}).then((res) => {

return checkCode(res)

})

}

}

4、重启服务器 npm run dev就好啦~

以上这篇Vue使用Proxy代理后仍无法生效的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Logo

前往低代码交流专区

更多推荐