vue设置代理不起作用问题及解决

 更新时间:2022年05月12日 15:56:26   作者:姜意%  
这篇文章主要介绍了vue设置代理不起作用问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue设置代理不起作用

使用vue写前端界面时,需调用后端接口展现查询的数据,于是设置代理实现跨域,在config/index.js中添加代理,代码如下:

proxyTable:{
      // 匹配 /dev-api 开头的请求, 比如:A网站:https://localhost:8888 中的index.html 页面发送AJax请求:/dev-api/data.json
      'dev-api': {
        target:'http://localhost:3001',
        // 开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,
        // 并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
        changOrigin: true, //开启代理
        pathRewrite: {
            "^/dev-api": ''
        }
      }
    },

运行后发现报错404

在这里插入图片描述

测试后端接口无问题,着重看代理部分代码,百度后发现 “dev-api"前面应加”/",

否则会出现上述错误。

完整代码如下:

proxyTable:{
      // 匹配 /dev-api 开头的请求, 比如:A网站:https://localhost:8888 中的index.html 页面发送AJax请求:/dev-api/data.json
      '/dev-api': {
        target:'http://localhost:3001',
        // 开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,
        // 并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
        changOrigin: true, //开启代理
        pathRewrite: {
            "^/dev-api": ''
        }
      }
    },

除此之外,修改代理后应重启一下,否则修改内容不生效。

vue配置代理方式

正向代理配置

环境配置文件 .env.development

ENV = 'development'
VUE_APP_BASE_API="/dev-api"

vue配置文件 vue.config.js

devServer: {
    proxy:'http://localhost:8080'//所有的接口请求都会被代理到这个路径上
},
devServer: {
    proxy:{
        '/dev-api':{//只要是这个路径下的请求都会被代理到target中
            target:'http://localhost:8888',
            pathRewrite:{'^/dev-api':''}//路径重写:/dev-api路径将不会出现,如果改成'^/dev-api':'test',则重写的路径/dev-api会变成test
        }
    }
},

注意点:使用正向代理时,不要手动的写全路径,不要手动的写全路径,不要手动的写全路径,(重要的事情说三遍)写了全路径则代理失效

全路径:http://localhost:8080 即:协议、域名、端口

只要写一个代理路径即可:VUE_APP_BASE_API =/dev-api

环境变量配置文件

你可以在你的项目根目录中放置下列文件来指定环境变量:

.env                # 在所有的环境中被载入
.env.local          # 在所有的环境中被载入,但会被 git 忽略
.env.[mode]         # 只在指定的模式中被载入
.env.[mode].local   # 只在指定的模式中被载入,但会被 git 忽略
# mode 代表环境变量:development、production和test。不同的文件名在不同的环境下自动生效

请注意,只有 NODE_ENV,BASE_URL 和以 VUE_APP_ 开头的变量将通过 webpack.DefinePlugin 静态地嵌入到客户端侧的代码中。

这是为了避免意外公开机器上可能具有相同名称的私钥。

目录

.env.production//生产环境配置
.env.develoption//开发环境配置

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • el-select 点击按钮滚动到选择框顶部的实现代码

    el-select 点击按钮滚动到选择框顶部的实现代码

    本文通过实例代码给大家分享el-select 点击按钮滚动到选择框顶部效果,主要代码是在visibleChange在这个popper里面找到.el-select-dropdown__list,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • vue实现点击出现操作弹出框的示例

    vue实现点击出现操作弹出框的示例

    这篇文章主要介绍了vue实现点击出现操作弹出框的示例,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2020-11-11
  • VUE数组根据索引删除数据,页面同时更新的实现方法

    VUE数组根据索引删除数据,页面同时更新的实现方法

    这篇文章主要介绍了VUE数组根据索引删除数据,页面同时更新的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • vue3应用elementPlus table并滚动显示问题

    vue3应用elementPlus table并滚动显示问题

    这篇文章主要介绍了vue3应用elementPlus table并滚动显示问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vite如何构建vue3项目

    vite如何构建vue3项目

    本文介绍了如何使用Vite快速搭建Vue项目,强调Vite对Node.js版本有最低要求(>=12.0.0),提供了环境准备、安装步骤和启动指南,旨在帮助开发者高效启动Vue项目
    2024-10-10
  • Vue3实现列表无限滚动的示例详解

    Vue3实现列表无限滚动的示例详解

    这篇文章主要为大家详细介绍了如何使用Vue3实现列表无限滚动的效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-07-07
  • vue-cli中vue本地实现跨域调试接口

    vue-cli中vue本地实现跨域调试接口

    这篇文章主要介绍了vue-cli中vue本地实现跨域调试接口,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Vite创建项目的实现步骤

    Vite创建项目的实现步骤

    随着 Vite2 的发布并日趋稳定,现在越来越多的项目开始尝试使用它。本文我们就介绍了Vite创建项目的实现步骤,感兴趣的可以了解一下
    2021-07-07
  • vue + electron应用文件读写操作

    vue + electron应用文件读写操作

    这篇文章主要介绍了vue + electron应用文件读写操作,如果要制作的应用并不复杂,完全可以将数据存储在本地文件当中,然后应用就可以通过这些文件进行数据的读写,需要的朋友参考下吧
    2022-06-06
  • 如何使用vue开发公众号网页

    如何使用vue开发公众号网页

    因为项目需要,近期做了一个公众号网页开发。在此期间也踩了一些坑,解决这些坑之后,准备对这个项目进行复盘。记录下项目从开发到上线所解决的问题,并对使用vue进行公众号开发的步骤进行一个总结。方便以后有问题进行查阅。希望对你有所帮助
    2021-05-05

最新评论