iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >webpack-dev-server如何使用http-proxy解决跨域问题
  • 689
分享到

webpack-dev-server如何使用http-proxy解决跨域问题

2024-04-02 19:04:59 689人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关webpack-dev-server如何使用Http-proxy解决跨域问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。文档资料WEBpac

这篇文章将为大家详细讲解有关webpack-dev-server如何使用Http-proxy解决跨域问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

文档资料

WEBpack关于webpack-dev-server开启proxy的官方介绍

Vue-cli proxyTable 解决开发环境的跨域问题——虽然这篇是写vue的,不过用在webpack-dev-server上也是一样的

http-proxy-middleware——webpack-dev-server的实现方法其实是对这个的封装

配置http-proxy

在webpack的配置文件(webpack.config.js)中进行配置

module.exports = {
 ...此处省略一万字

 // webpack-dev-server的配置
 devServer: {
 historyapiFallback: true,
 hot: true,
 inline: true,
 progress: true,
 port: 3000,
 host: '10.0.0.9',
 proxy: {
 '/test/*': {
 target: 'http://localhost',
 changeOrigin: true,
 secure: false
 }
 }
 },

 ...此处省略一万字
};

上述配置中,关于http-proxy的只是 proxy: {...} 中的值

调用接口

为了方便起见,下面使用Jquery封装好的ajax函数进行示范

$.ajax({
 // url: 'http://10.0.0.9:3000/test/testFetch/Login.PHP', // 这样不行
 url: '/test/testFetch/Login.php', // 这样行
 type: 'post',
 data: {
 app_id: '13751313169',
 passWord: '123456',
 user_name: 'Nicholas'
 },
 success: function(data) {
 console.log(data);
 }
});

proxy中的部分参数说明

'/test/*' 以及 target: 'http://localhost'

从名字就能看出,这个实际上是将匹配 '/test/*' 这种格式的API的域名重定向为 'http://localhost'

  1. 结合上面的 “调用接口” 可以看出, url: '/test/testFetch/Login.php' 这句,实际上会自动补充前缀,也就是说,url: '/test/testFetch/Login.php' 等价于 url: 'http://10.0.0.9:3000/test/testFetch/Login.php'

  2. 但是,我们使用了http-proxy进行重定向,这样的话,url: '/test/testFetch/Login.php' 等价于 url: 'http://localhost/test/testFetch/Login.php'

changeOrigin

  1. true/false, Default: false - changes the origin of the host header to the target URL

  2. 本地会虚拟一个服务端接收你的请求并代你发送该请求——这个是别人的说法

  3. 我试了一下,就算这个参数设置成 false 也有部分情况是可以的,具体原因不详,所以还是将其设置成 true 吧

secure

  1. true/false, if you want to verify the SSL Certs

pathRewrite

  1. 例子: pathRewrite: {'^/api': ''}

  2. Object-keys will be used as RegExp to match paths

  3. 我猜,这里是将 '^/api' 使用 '' 代替(只是我猜,没是成功,估计是我的正则表达式写得不行)

附上使用Fetch API的代码

上述代码与 “调用接口” 中使用 $.ajax() 实现的效果是一样的

let testAsync = async function () {
 var feeling = {
 app_id: '13751313169',
 password: '123456',
 user_name: 'Nicholas'
 };

 var fetchParams = {
 method: 'post',
 headers: {
 'Accept': 'application/JSON',
 'Content-Type': 'application/json'
 },
 credentials: 'include', // 将凭证也带上(例如cookies)
 body: JSON.stringify(feeling),
 };

 let temp = await fetch('/test/testFetch/Login.php', fetchParams).then(response => response.text());

 console.log(temp); // 这个就是一个json对象

 return temp;
};

let data = testAsync(); // async函数返回值是一个Promise对象

console.log(data); // 这个是一个Promise对象

关于“webpack-dev-server如何使用http-proxy解决跨域问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: webpack-dev-server如何使用http-proxy解决跨域问题

本文链接: https://www.lsjlt.com/news/76455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • webpack-dev-server如何使用http-proxy解决跨域问题
    这篇文章将为大家详细讲解有关webpack-dev-server如何使用http-proxy解决跨域问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。文档资料webpac...
    99+
    2024-04-02
  • webpack-dev-server如何设置反向代理解决跨域问题
    这篇文章主要为大家展示了“webpack-dev-server如何设置反向代理解决跨域问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“webpack-dev-...
    99+
    2024-04-02
  • 前端解决跨域问题nmp安装http-server的问题
    目录前端解决跨域问题-nmp安装http-server问题背景跨域问题后记前端解决跨域问题-nmp安装http-server 问题背景 项目组的露露学习d3遇到问题,前端无法读取js...
    99+
    2024-04-02
  • 使用Java如何解决跨域问题
    本篇内容主要讲解“使用Java如何解决跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用Java如何解决跨域问题”吧!跨域问题现在绝大多数公司的项目都是...
    99+
    2024-04-02
  • webpack-dev-server中如何配置使用
    这篇文章给大家分享的是有关webpack-dev-server中如何配置使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1安装的WebPack-dev-server 在终端输入...
    99+
    2024-04-02
  • Vue3设置Proxy代理解决跨域问题
    目录设置Proxy代理解决跨域ProxyVue3.0代理配置设置Proxy代理解决跨域 Proxy Vue3当中的跨域解决方案还是跟Vue2差不多用的都是proxy,而且Vue3的双...
    99+
    2024-04-02
  • vue中proxy代理的用法(解决跨域问题)
    目录声明1. 首先我们应该知道2. 跨域,什么是跨域呢?问题跨域的解决方案代理服务器是如何解决跨域的?proxy配置以vue cli3.0为例总结声明 1. 首先我们应该知道 前端a...
    99+
    2022-12-09
    vue proxy代理 proxy解决跨域 vue跨域问题
  • 如何使用Nginx解决跨域问题详解
    目录先来说一下什么是同源策略什么是跨域?跨域分类Nginx解决跨域问题解释1、Access-Control-Allow-Origin2、Access-Control-Allow-He...
    99+
    2024-04-02
  • 使用Nginx解决跨域问题
    目录 使用Nginx解决跨域问题 1、修改浏览器、客户端访问地址 2、在nginx.conf配置文件需配置server 3、在Nginx中配置客户端访问的接口(按照规则或通配),并设置被代理的服务器 4、在Nginx中统一配置客户端访问的...
    99+
    2023-09-02
    nginx 运维 服务器
  • Apache如何解决跨域问题
    方案一:直接在域名配置中允许跨域 缺点:安全性缺失。公交车,谁都能访问。相当于完全放弃跨域控制。 且无法发送登陆凭证,发送cookie等依然会被拦截 修改apache/conf/httpd.conf 文件 找到   #LoadModule ...
    99+
    2023-09-01
    apache php 跨域
  • PHP跨域问题如何解决
    这篇文章主要讲解了“PHP跨域问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP跨域问题如何解决”吧!设置允许访问的域名:允许全部的域名访问header("Acces...
    99+
    2023-07-05
  • Vue3跨域问题如何解决
    这篇文章主要介绍了Vue3跨域问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3跨域问题如何解决文章都会有所收获,下面我们一起来看看吧。vue项目配置代理vue.config.jsconst&n...
    99+
    2023-07-05
  • ajax如何解决跨域问题
    小编给大家分享一下ajax如何解决跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!跨域同源策略限制同源策略阻止从一个域上加...
    99+
    2024-04-02
  • django跨域问题如何解决
    Django跨域问题可以通过以下几种方法来解决:1. 使用Django的CORS插件:可以通过安装django-cors-heade...
    99+
    2023-09-26
    Django
  • iframe如何解决跨域问题
    iframe如何解决跨域问题,需要具体代码示例 跨域问题是前端开发中常遇到的一个难题。由于浏览器的同源策略,页面中的JavaScript无法直接访问不同域名下的资源。解决这个问题有很多...
    99+
    2024-02-22
    跨域问题解决
  • Ajax跨域问题如何解决
    这期内容当中小编将会给大家带来有关Ajax跨域问题如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。跨域跨域有三个条件,满足任何一个条件就是跨域 1:服务器端口不一致 2:协议不一...
    99+
    2023-06-08
  • VUE如何解决跨域问题
    这篇文章主要介绍“VUE如何解决跨域问题”,在日常操作中,相信很多人在VUE如何解决跨域问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VUE如何解决跨域问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • Vite怎么配置代理Proxy解决跨域问题
    本篇内容主要讲解“Vite怎么配置代理Proxy解决跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vite怎么配置代理Proxy解决跨域问题”吧!前言我们在编写前端项目的时候,经常会遇到...
    99+
    2023-07-05
  • Jsonp如何解决ajax跨域问题
    这篇文章主要为大家展示了“Jsonp如何解决ajax跨域问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Jsonp如何解决ajax跨域问题”这篇文章吧。一、介...
    99+
    2024-04-02
  • 如何解决thinkphp withCredentials跨域问题
    小编给大家分享一下如何解决thinkphp withCredentials跨域问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!             ...
    99+
    2023-06-08
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作