vue解决跨域问题(Vue-CLI)[通俗易懂]

vue解决跨域问题(Vue-CLI)[通俗易懂]Vue项目中,使用反向代理解决跨域问题,首先在vue项目的根目录下创建vue.config.js文件,然后配置vue.config.js文件,只需两步即可解决跨域问题。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. 创建vue.config.js文件;

打开项目,在vue项目的根目录下创建vue.config.js文件。

vue解决跨域问题(Vue-CLI)[通俗易懂]


2.配置vue.config.js文件;

module.exports = {
    devServer: {
        proxy: {
            '/api': {                              //需要代理的接口
                target: 'http://39.98.***.211',    //目标服务器
                changeOrigin: true,                //是否跨域
                pathRewrite: { '^/api': 'api' },   //重写
            },
        },
    },
}

举一个栗子?:我需要访问的接口是:http://32.88.***.818/api/abb,123 ,”/api”是一个标识,告诉它只代理接口里面有 “/api” 这个字段的接口,我的目标服务器http://32.88.***.818,即target定义的,pathRewrite重写’^/api’: ‘/api’ 就是在代理是时候使用 /api 代理。


3.调用接口。

  • 第一种情况,重写值为自身(pathRewrite: { ‘^/api’: ‘api’ })
this.axios.get('/api/abb').then((res)=>{
    console.log(res)
})
  • 第二种情况,重写值为空(pathRewrite: { ‘^/api’: ‘ ‘ })

this.axios.get('/api/api/abb').then((res)=>{
    console.log(res)
})

注:此方法只适用于本地开发。如发布到生产环境接口与前端在不同域,需服务器配置代理。

  • 配置代理中 module.exports 是什么意思?

   module.exports 对象是由模块系统创建的。在我们自己写模块的时候,需要在模块最后写好模块接口,声明这个模块对外暴露什么内容,module.exports 提供了暴露接口的方法。

  • 配置代理中 devServer 是什么意思?

     浏览器如果需要开发某些特定功能,需要https浏览器才会给予功能权限, 则开发时我们需要在https环境 下面是配置一个webpack devServer的https环境。

  •  配置代理中 proxy 是什么意思

     proxy 也就是代理,可以帮助我们完成很多事情,例如对数据的处理,对构造函数的处理,对数据的验证,说白了,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192585.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 金融系列11《电子现金应用》

    金融系列11《电子现金应用》

    2022年1月10日
    37
  • java获取文件名乱码_java导出文件名中文乱码

    java获取文件名乱码_java导出文件名中文乱码Java读linux系统文件文件名乱码的解决办法1,问题描述web应用想通过Java读取linux系统文件显示到web页面上,结果中文文件名出现乱码?问题场景描述:当用户通过浏览器访问tomcat服务器,请求查看某一路径下文件列表信息,tomcat的web应用调用getFilesByPath(Stringpath)方法读取文件列表信息响应请求,页面中文文件名出现乱码。推荐教程:《java学习》代…

    2022年10月20日
    0
  • PyCharm配置_pycharm安装配置

    PyCharm配置_pycharm安装配置pycharmpycharm是一个比较好的pythonIDE,可以在MACOS和windows上使用,补全功能强大,而且界面十分友好,特别适合python编程人员使用。pycharmPycharm安装Pycharm配置修改成灰底主题显示行号修改字体大小编程字体我推荐运行调试Pycharm安装pycharm的安装地址:http://www.jetbrains.com/

    2022年8月28日
    0
  • vue父子组件传值:详解父组件向子组件传值(props)

    vue父子组件传值:详解父组件向子组件传值(props)vue父子组件传值:父组件向子组件传值(props)定义父组件2.定义子组件关键点:1.父组件想要向子组件传值,那么需要在子组件引入的地方绑定要传的值,并且要在父组件中引入子组件。2.绑定的值可以是一个自定义属性来存放父组件向子组件传递的数据。3.子组件使用props属性接收,然后可以直接在页面上以这个形式“{{}}”引用1.父组件代码如下:<template><div>父组件:<inputtype=”text”v-mode

    2022年6月5日
    343
  • 【模式识别】OpenCV中使用神经网络 CvANN_MLP

    【模式识别】OpenCV中使用神经网络 CvANN_MLPOpenCV的ml模块实现了人工神经网络(ArtificialNeuralNetworks,ANN)最典型的多层感知器(multi-layerperceptrons,MLP)模型。由于ml模型实现的算法都继承自统一的CvStatModel基类,其训练和预测的接口都是train(),predict(),非常简单。下面来看神经网络CvANN_MLP的使用~定义神经网络及参数:…

    2022年6月16日
    21
  • navicat premium mac 激活码【中文破解版】

    (navicat premium mac 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    91

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号