【前端学习日记】Vue2开发环境跨域问题

编程入门 行业动态 更新时间:2024-10-11 01:16:21

【前端学习日记】Vue2开发<a href=https://www.elefans.com/category/jswz/34/1771403.html style=环境跨域问题"/>

【前端学习日记】Vue2开发环境跨域问题

附上参考的大佬文档:

Vue项目的基础搭建和解决Vue中的跨域问题_捡黄金的少年的博客-CSDN博客

自己项目本身用的是最后那种方便的形式,但是一直配置不生效,后来对着大佬文档一个字一个字扣,终于不报跨域的错误了。

跨域问题:最常见的就是报错包含:请求地址 from origin localhost:8080、Access-Control-Allow-Origin、no request ...等等

为什么跨域:据说是浏览器的同源策略,不允许协议、端口、路径不一致的IP相互访问,详情可以自行百度或文档。那我们一般的一般开发的时候就是会打开一个本地服务器嘛,如localhost:8080等,那么我们访问下面这个地址:.json的话,就违背了同源策略。

跨域的原理(来自B站老尚带你学前端的教程):

        1、将域名发送给本地的服务器

        2、再由本地的服务器去请求真正的服务器

        3、因为请求是从服务端发出的,所以就不存在跨域的问题了

注意:修改vue.config.js 文件需要重启项目

 第一部分:axios请求:

import request from '@/http/index'export function require(data) {return request({url: 'index/ding.json',   //只写路径即可,这是用的Bilibili的一个接口method: 'post',           //.jsondata:data,})

第二部分:axios配置

const service = axios.create({baseURL: process.env.VUE_APP_BASE_API, // 这里就联动了代理配置了timeout: 5000 // 超时
})// 关于怎么封装axios,见其他大佬文档

第三部分:.env.development文件

## base API 测试环境
# 使用 VUE_APP_ 开头的变量会被 webpack 自动加载
# 定义请求的基础URL, 方便跨域请求时使用
VUE_APP_BASE_API = '/dev-api'
# 接口服务地址
VUE_APP_SERVICE_URL ='/'  //这里不要配置全地址,只写服务器地址即可

第四部分:vue.config.js

 devServer: {port: 8006, // 端口号,如果端口号被占用,会自动提升1host: "localhost", //主机名, 127.0.0.1, 真机 0.0.0.0  前端服务启动后的访问ip,默认为localhost, host和port组成了前端服务启动后的访问入口。https: false, //协议open: true, //启动服务时自动打开浏览器访问proxy: {// 配置代理[process.env.VUE_APP_BASE_API]: {// target 指向你要访问的目标路径// 由于在开发环境中配置好了地址,所以这里直接引用即可,见第二部分target: process.env.VUE_APP_SERVICE_URL, secure: true, // 如果是https接口,需要配置这个参数为truechangeOrigin: true,	//必须为true,true表示跨域// 重写路径,写为空就行了pathRewrite: {['^' + process.env.VUE_APP_BASE_API]: ''}}},
},

第五部分:查看控制台-网络

        发现我们请求的地址被/dev-api替换了,并且请求时和我们的路径拼接起来了,最后通过我们的localhost去访问的。因为我们的target指向的是被替换的地址,这里是https:www.bilibili,然后我们通过VUE_APP_BASE_API来进行替换。

 

 成功接收到数据

 

最后:有一些地方我也解释不清楚,所以多看看大佬文档,然后逐个尝试吧! 

更多推荐

【前端学习日记】Vue2开发环境跨域问题

本文发布于:2024-03-09 05:41:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724023.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:环境   日记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!