首页 > 其他分享 >怎么配置代理服务器, 解决跨域问题

怎么配置代理服务器, 解决跨域问题

时间:2023-08-13 23:22:49浏览次数:42  
标签:axios return 跨域 配置 代理服务器 api config response 请求

  1. vue.config.js​​里面
const { defineConfig } = require('@vue/cli-service'); 
module.exports = defineConfig({
  devServer: {
    proxy: {
      api: {
        target: 'http://xxx.cn/',
        changeOrigin: true,
        pathRewrite: { '^/api': '' },
      },
    },
  },
});

或者是在vite.config.js​里面

import { defineConfig } from 'vite'
export default defineConfig({
  server:{
    proxy:{
      '/api': {
        target: 'http://xxx.cn',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      },
    }
  }
})

  1. 引入axios实例, 配置请求和响应拦截器(一般在src文件夹下面的utils文件夹里面)
import axios from 'axios';
import nProgress from 'nprogress';
import 'nprogress/nprogress.css';

// 创建axios实例
const request = axios.create({
  // 发送请求到目标服务器前会将baseURL自动拼接到请求路径前面
  baseURL: '/api',
  // 每条并发的最大等待时间,时间到了返回404
  timeout: 10000,
});

// 创建请求拦截器
// 会在axios请求发送之前拦截
request.interceptors.request.use((config) => {
  nProgress.start();  
  // 添加请求头的信息
  config.headers.aaa = 123;
  // 一定要写return config
  return config;
});

// 创建响应拦截器
// 会在响应返回到浏览器之后触发
// 第一个回调是请求成功的回调
// 第二个回调是请求失败的回调
request.interceptors.response.use(
  (response) => {
    //  根据状态码不同的处理
    if (response.data.code === 200) {
      nProgress.done();
      return response.data;
    }  else {
      nProgress.done();
      return Promise.reject(response.data.message);
    }
  },
  () => {
    nProgress.done();
    return Promise.reject('请求失败');
  }
);
export default request;

标签:axios,return,跨域,配置,代理服务器,api,config,response,请求
From: https://www.cnblogs.com/liucx955/p/17627507.html

相关文章

  • 深入解析 Spring Boot 自动配置机制
    SpringBoot作为一款广泛应用的微服务框架,以其强大的自动配置功能而闻名。这一特性能够让开发人员快速搭建和部署应用程序,无需手动繁琐的配置。在本篇博客中,我们将深入探究SpringBoot自动配置的机制,剖析其背后的原理,并通过代码示例演示如何定制自动配置。1.自动配置的核心原理......
  • 深入探究 Spring Boot 自动配置的内部机制
    SpringBoot作为一款广泛应用的微服务框架,以其强大的自动配置功能而受到瞩目。这一特性能够让开发人员快速搭建和部署应用程序,无需手动繁琐的配置。在本篇博客中,我们将深入探讨SpringBoot自动配置的内部机制,揭示其背后的原理,并通过代码示例演示如何进行自定义的自动配置。1.自......
  • Spring Boot 自动配置原理深度解析
    SpringBoot作为一款广泛应用的微服务框架,以其强大的自动配置功能而著名。这一特性能够让开发人员快速搭建和部署应用程序,无需手动繁琐的配置。在本篇博客中,我们将深入探究SpringBoot自动配置的原理,揭示其背后的工作机制,并通过代码示例演示如何进行自定义的自动配置。1.自动配......
  • 揭秘 Spring Boot 自动配置的内部机制
    SpringBoot作为一款广泛使用的微服务框架,以其强大的自动配置功能而受到瞩目。这一特性能够让开发人员快速搭建和部署应用程序,无需手动繁琐的配置。在本篇博客中,我们将深入探究SpringBoot自动配置的内部机制,剖析其背后的原理,并通过代码示例演示如何进行自定义的自动配置。1.自......
  • macOS zsh 配置 docker 自动补全
    maczsh配置docker自动补全在终端中使用docker的命令的时候必须要全部手敲,没有提示,于是就在找是否有自动补全的脚本,搜索了一圈踩了一些坑总结了一下具体的步骤。首先执行如下命令:mkdir-p~/.zsh/completioncurl-Lhttps://raw.githubusercontent.com/docker/docker-ce/......
  • Jenkins 配置邮件通知(腾讯企业邮箱)
    开通企业邮箱SMTP服务登录企业微信邮箱,然后打开设置,在里面找到收发信设置,在开启服务里面将开启IMAP/SMTP服务勾选保存后回到邮箱绑定页签下,将安全设置里的安全登录开关打开在下面的客户端专用密码中点击生成新密码 点击生成新密码后会弹出一个表单,里面展示......
  • 思科交换机和路由器使用TFTP备份和还原配置文件
     (1)给交换机配置管理地址,保证交换机与服务器相连通SW1(config)#intvlan1SW1(config-if)#ipadd192.168.1.1255.255.255.0SW1(config-if)#noshutSW1#write(2)备份startup-config到服务器SW1#copystartup-configtftp: Addressornameofremotehost[]?192.168.1.......
  • fastjson配置统一的日期格式转换
    importcom.alibaba.fastjson.serializer.SerializeConfig;importcom.alibaba.fastjson.serializer.SerializerFeature;importcom.alibaba.fastjson.serializer.ToStringSerializer;importcom.alibaba.fastjson.support.config.FastJsonConfig;importcom.alibaba.fast......
  • 使用tcl脚本设置引脚配置
    tcl设置引脚tool->TCL->run#------------------GLOBAL--------------------##set_global_assignment-nameFAMILY"CycloneIVE"#set_global_assignment-nameDEVICEEP4CE6F17C8#set_global_assignment-nameRESERVE_ALL_UNUSED_PINS"ASINPUT......
  • 2-03-Nacos配置管理-微服务配置拉取
    增加nacos对应依赖增加bootstrap配置文件并迁移配置[应用名称-环境-文件后缀(用于组装出对应的dataID)以及nacos地址]清理application中重复的配置......