vue代理模式解决跨域详解

 更新时间:2022年09月14日 08:24:32   作者:曦12  
这篇文章主要介绍了vue代理模式解决跨域详解的相关资料,需要的朋友可以参考下

跨域是什么

简单的讲就是你在一个地方使用另一个地方的资源,被浏览器给挡下来了,不让不用!当然,它挡下来是有自己理由的:为了安全(╬▔皿▔)╯。

解决跨域

我是用vue开发的,就vue代理模式解决跨域说明一下。

1、在vue.config.js中这样写:

let devProxy = {
  //获取ip信息
  '/getIpMsg': {
    target: "https://whois.pconline.com.cn/ipJson.jsp",//真实地址
    ws: true,
    changeOrigin: true,
    pathRewrite: {
      '/getIpMsg': ''
    },
  },
};
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
  devServer: {
    port: 8080,//端口
    open: false,//项目启动后是否在浏览器自动打开
    proxy: devProxy//代理服务器
  },
})
 

target就是自己需要代理的真实地址getIpMsg你是可以自定义的。

2、创建一个http.ts(我是ts的,你也可以js):

import axios from "axios";
//创建请求
function createServe(config: any) {
    let serve = axios.create({
        timeout: 5000 //超时
    });
    //请求拦截器
    serve.interceptors.request.use(
        config => {
            return config;
        },
        error => {
            return Promise.reject(error)
        }
    )
    //响应拦截器
    serve.interceptors.response.use(
        response => {
            return response;
        },
        error => {
            return Promise.reject(error)
        }
    )
    return serve(config);
}
 
export default createServe;

3、创建一个request.ts:

import createServe from "./http"
 
//获取ip信息
export function getIpMsg(params = {}) {
    return createServe({
        method: "GET",
        url: '/getIpMsg',
        params
    })
}

4、这样使用:

import { getIpMsg } from "@/api/request";
 
function test(){
    getIpMsg()
    .then(res => {
        console.log(res);
    })
}

到此这篇关于vue代理模式解决跨域详解的文章就介绍到这了,更多相关vue代理模式解决跨域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue-cli配置打包文件本地使用的教程图解

    Vue-cli配置打包文件本地使用的教程图解

    这篇文章主要介绍了Vue-cli配置打包文件本地使用的教程图解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • vue如何给页面增加url前缀

    vue如何给页面增加url前缀

    这篇文章主要介绍了vue如何给页面增加url前缀问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Vue3.0 自己实现放大镜效果案例讲解

    Vue3.0 自己实现放大镜效果案例讲解

    这篇文章主要介绍了Vue3.0 自己实现放大镜效果案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • vue单页面如何通过prerender-spa-plugin插件进行SEO优化

    vue单页面如何通过prerender-spa-plugin插件进行SEO优化

    这篇文章主要介绍了vue单页面如何通过prerender-spa-plugin插件进行SEO优化,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • vue导入excel文件,vue导入多个sheets的方式

    vue导入excel文件,vue导入多个sheets的方式

    这篇文章主要介绍了vue导入excel文件,vue导入多个sheets的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue3使用vue-cli引入windicss报错Can‘t resolve windi.css问题

    vue3使用vue-cli引入windicss报错Can‘t resolve windi.css问题

    这篇文章主要介绍了vue3使用vue-cli引入windicss报错Can‘t resolve windi.css问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 浅析Vue 生命周期

    浅析Vue 生命周期

    这篇文章主要介绍了Vue 生命周期的过程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Vue.js tab实现选项卡切换

    Vue.js tab实现选项卡切换

    这篇文章主要为大家详细介绍了Vue.js组件tab实现选项卡切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • vue跨域proxy代理配置详解

    vue跨域proxy代理配置详解

    今天被vue中proxy配置困扰了一天,记录一下,下面这篇文章主要给大家介绍了关于Vue配置文件中的proxy配置方式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 用electron 打包发布集成vue2.0项目的操作过程

    用electron 打包发布集成vue2.0项目的操作过程

    这篇文章主要介绍了用electron 打包发布集成vue2.0项目的操作步骤,把electron 加入到自己项目中各种不兼容,升级版本踩坑无数个,今天通过本文给大家分享下详细过程,需要的朋友可以参考下
    2022-10-10

最新评论