使用vue-cli开发时跨域问题

时间:2022-08-28 15:19:11

打开config文件夹下的index.js,配置proxyTable:

{
    ...
    dev:{
         ...
        
        proxyTable: {
             '/api': {
                    target: 'http://localhost',
                    changeOrigin: true  // 必须,为true的话,请求的header将会设置为匹配目标服务器的规则(Access-Control-Allow-Origin)
             }
        }      
    }
}

 

 

 

其中,taget是要访问的api的地址,配置完proxyTable后,若要访问'http://localhost/api/books',ajax里的url只需设为'/api/books'即可,webpack会帮你把‘/api’下的请求转发至'http://localhost/api'!

如果不想传递‘/api’ 到请求路径,可以这样配置:

{
    ...
    dev:{
         ...
        
        proxyTable: {
             '/api': {
                     target: 'http://localhost',
                     changeOrigin: true,
                     pathRewrite: {"^/api" : ""}
             }
        }      
    }
}    

参考文档: webpack vue-cli