千家信息网

vue-cli3中如何解决跨域问题

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"vue-cli3中如何解决跨域问题",在日常操作中,相信很多人在vue-cli3中如何解决跨域问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"vue
千家信息网最后更新 2025年02月02日vue-cli3中如何解决跨域问题

这篇文章主要介绍"vue-cli3中如何解决跨域问题",在日常操作中,相信很多人在vue-cli3中如何解决跨域问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"vue-cli3中如何解决跨域问题"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1:将任何未知请求转发到代理服务器

如:

前端地址:127.0.0.1

后端地址:127.0.0.2

当访问地址为 127.0.0.1/api,没有匹配到这地址,那么就会被转发到代理服务器127.0.0.2/api

module.exports={  devServer:{    proxy: "http://www.acfun.cn"  }}

2:多代理控制

更多代理服务配置项搜索http-proxy-middleware查看

module.exports = {  devServer: {    proxy: {      '/search': {  // search为转发路径        target: 'http://www.acfun.cn', // 目标地址        ws: true, // 是否代理websockets        changeOrigin: true  // 设置同源 默认false,是否需要改变原始主机头为目标URL,              }    }  }};

如:

当前访问地址为 xxx.xxx.xxx/search时,就会被转发到代理服务器http://www.acfun.cn/search

xxx.xxx.xxx/search -> http://www.acfun.cn/search

3:实例

api.js 文件(主要用于全局配置)

import Axios from "axios";let http = Axios.create({  timeout: 3000,  //超时配置 3秒  responseType: 'json',  // 响应数据格式  responseEncoding: 'utf8', // 响应数据编码});export default http;

入口文件 main.js

import Vue from "vue";import App from "./App.vue";import router from "./router";import http from "./api";  // 引用axios全局配置Vue.config.productionTip = false;Vue.prototype.$http = http;  // 添加原型方法,这样创建的对象就自带该方法了。new Vue({  router,  render: h => h(App)}).$mount("#app");

vue.config.js 配置文件

更多代理服务配置项搜索http-proxy-middleware查看

module.exports = {  devServer: {    proxy: {      '/search': {        target: 'http://www.acfun.cn',        ws: true,//是否代理websockets        changeOrigin: true  // 设置同源 默认false,是否需要改变原始主机头为目标URL      }    }  }};

到此,关于"vue-cli3中如何解决跨域问题"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0