欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

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

时间:2022-07-25 10:52:16|栏目: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//开发环境配置

上一篇:vue实现简单转盘抽奖功能

栏    目:vue

下一篇:vue缓存之keep-alive的理解和应用详解

本文标题:vue设置代理不起作用问题及解决

本文地址:http://www.codeinn.net/misctech/208805.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有