vue本地运行开发,为什么要配置changeOrigin: true

changeOrigin: true是在配置反向代理时常见的一个选项,通常用于解决跨域请求的问题。Vue本地运行时,可能会涉及到前端应用与后端服务不在同一个域的情况,这就会触发浏览器的同源策略,阻止跨域请求。

使用Vue CLI(或其他类似的工具)在本地运行时,可以通过配置代理来解决跨域问题。changeOrigin: true是其中的一个配置选项,它的作用是将请求的头部的Host字段改为被代理服务器的Host字段。

举例来说,假设前端应用运行在http://localhost:8080,而后端服务运行在http://localhost:3000。如果不启用changeOrigin: true,那么通过代理发往后端的请求头中的Host字段仍然是localhost:8080,而不是localhost:3000。有些后端服务器会根据Host字段进行处理,如果不匹配,就可能拒绝服务。

启用changeOrigin: true会将请求头中的Host字段更改为被代理服务器的Host,确保请求能够正确地被后端服务器处理。

示例配置:

javascript 复制代码
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true
      }
    }
  }
}

上述配置表示,所有以/api开头的请求会被代理到http://localhost:3000,并且会修改请求头中的Host字段。这样,你就可以在本地开发时解决跨域问题。

相关推荐
IT·小灰灰1 分钟前
Doubao-Seedream-4.5:当AI学会“版式设计思维“——设计师的七种新武器
javascript·网络·人工智能·python·深度学习·生成对抗网络·云计算
柠檬水不加冰_3 分钟前
Angular学习记录
javascript·学习·angular.js
黛色正浓6 分钟前
【React基础】篇章3:性能优化相关API&&编写类组件Class API&&zustand状态管理
javascript·react.js·ecmascript
2401_8604947010 分钟前
在React Native鸿蒙跨平台开发中实现一个桶排序算法,如何使用任何排序算法对每个桶中的元素进行排序,再将所有桶中的元素合并成一个有序数组
javascript·react native·react.js·ecmascript·排序算法·harmonyos
我爱学习_zwj12 分钟前
Node.js:从浏览器到服务器的JS革命
javascript·node
一字白首12 分钟前
Vue 进阶,组件三大组成 + 通信 + 进阶语法
前端·javascript·vue.js
小明记账簿21 分钟前
前端读取与导出XLSX文件实战指南(React+Ant Design)
前端·react.js·前端框架
打小就很皮...22 分钟前
前端 Word 导出:自定义页眉表格的实现方案
前端·word·react·页眉设置
JarvanMo33 分钟前
8 个你可能忽略了的 Flutter 小部件(四)
前端
学Linux的语莫35 分钟前
Vue前端知识
前端·javascript·vue.js