proxyObj['/sx'] = { // 本地后端地址
  target: 'http://192.168.3....', changeOrigin: false, pathRewrite: { '^/sx': 'sx' }
}

module.exports = { // 单位电脑
  devServer: { host: '192.168.3....', port: 8888, proxy: proxyObj }
}

changeOrigin vue3和vue2 默认值 不一样

踩过的坑: vue2项目调后端接口 没有跨域问题 changeOrigin值是 true, 但是同样的接口 vue3 + TS就不行 changeOrigin 这个值写的也是true 后来查阅资料说 changeOrigin 设置成 false , 删掉或注掉都不行

原因: 

devServer中,proxy的changeOrigin是false:请求头中host仍然是浏览器发送过来的host;如果设置成true:发送请求头中host会设置成target

在vue-cli3中,默认changeOrigin的值是true,意味着host设置成target,这与cue-cli2不一致,vue-cli2这个默认值是false。

Logo

前往低代码交流专区

更多推荐