当前位置: 首页 > news >正文

wepack打包生产环境使用http-proxy-middleware做api代理转发的方法

首先安装http-proxy-middleware依赖,这个用npm和yarn安装都可以。

然后在express服务器的代码增加如下内容:

const express = require("express");

const app = express();

const {

  createProxyMiddleware,

  fixRequestBody,

} = require("http-proxy-middleware");

app.use(

  "/api",

  createProxyMiddleware({

    target: "http://127.0.0.1:3600",

// 注意:如果在app之前使用了body-parser,那么就必须加上onProxyReq: fixRequestBody选项

    // 否则会无法处理post请求,无法解析post请求中的body

    // 如果没有添加body-parser依赖,则无需添加onProxyReq: fixRequestBody

    onProxyReq: fixRequestBody, 

    onError: (err, req, res) => {

      console.error(err);

      res.status(500).send("Proxy Error");

    },

  })

);

注意点:

1.  target网址会自动带上匹配到"/api"前缀,除非使用pathRewrite将该前缀去除

2.  注意:如果在app之前使用了body-parser,比如下面这样:

那么就必须加上onProxyReq: fixRequestBody选项否则会无法处理post请求,无法解析post请求中的body,导致浏览器请求一直处于pending状态,api后端报错如下:

 如果没有添加body-parser依赖,则无需添加onProxyReq: fixRequestBody

相关文章:

wepack打包生产环境使用http-proxy-middleware做api代理转发的方法

首先安装http-proxy-middleware依赖,这个用npm和yarn安装都可以。 然后在express服务器的代码增加如下内容: const express require("express"); const app express(); const { createProxyMiddleware, fixRequestBody, } require("h…...

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据

一、目的 经过6个月的奋斗,项目的离线数仓部分终于可以上线了,因此整理一下离线数仓的整个流程,既是大家提供一个案例经验,也是对自己近半年的工作进行一个总结。 二、数仓实施步骤 (五)步骤五、在Hive的…...

Idea引入thymeleaf失败解决方法

报错 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.Fri Sep 29 09:42:00 CST 2023 There was an unexpected error (typeNot Found, status404). 原因:html没有使用thymeleaf 首先要引入…...

Dev C++安装与运行

参考: https://blog.csdn.net/Keven_11/article/details/126388791 https://www.cnblogs.com/-Wallace-/p/cpp-stl.html 2021年真题要求 2022年真题要求 河南省的考试环境 IDE环境 Dev C 安装 下载 安装 点击OK,选择我接受 修改安装路径为D盘d:\Program Fi…...

Docker下如何构建包含延迟插件的RabbitMQ镜像

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…...

Vue3理解(6)

列表渲染 1.v-for指令基于一个数组来渲染列表,v-for指令的值需要使用 item in items形式的特殊语法,items是源数据的数组,而item是迭代项的别名。 2.在v-for块中可以完整访问父作用域内的属性和变量,v-for的第二个参数表示当前项的位置索引。…...

react+IntersectionObserver实现页面丝滑帧动画

实现效果: 加入帧动画前: 普通的静态页面 加入帧动画后: 可以看到,加入帧动画后,页面效果还是比较丝滑的。 技术实现 加入animation动画类 先用 **scss **定义三种动画类: .withAnimation {.fade1 {ani…...

项目实战第四十六讲:财务经营看板

项目实战第四十六讲:财务经营看板 本文是项目实战第四十六讲,财务经营看板。财务模块划分为两类:① 财务工具(执行和业务财务闭环)② 财务报表,本期需求为新增财务看板,共增加4个看板 文章目录 项目实战第四十六讲:财务经营看板1、需求背景2、流程图3、技术方案4、相关…...

【VUE复习·10】v-for 高级::key 作用和原理;尽量不要使用 index 来遍历

总览 1.:key 作用和原理 2.尽量不要使用 index 来遍历 一、:key 作用和原理 1.数据产生串位的原因 在我们使用 index 进行遍历的时候,会出现虚拟 DOM 和 真实 DOM 的渲染问题。 二、尽量不要使用 index 来遍历 详情见视频 1/3 处: https://www.bili…...

阿里云七代云服务器实例、倚天云服务器及通用算力型和经济型实例规格介绍

在目前阿里云的云服务器产品中,既有五代六代实例规格,也有七代和八代倚天云服务器,同时还有通用算力型及经济型这些刚推出不久的新品云服务器实例,其中第五代实例规格目前不在是主推的实例规格了,现在主售的实例规格是…...

《IIS系列》IIS日志文件管理

我们在使用IIS部署网站的时候,随着时间推移,IIS 生成的日志文件可能会消耗大量磁盘空间。 日志可能会填满整个硬盘驱动器,为了缓解此问题,许多用户完全关闭日志记录,但关了记录又会导致出现问题无从排查,故…...

3D孪生场景搭建:模型阵列摆放

阵列摆放概念 阵列摆放是指将物体、设备或元件按照一定的规则和间距排列组合的方式。在工程和科学领域中,阵列式摆放常常用于优化空间利用、提高效率或增强性能。 阵列摆放通常需要考虑间距、角度、方向、对称性等因素,以满足特定的要求和设计目标。不同…...

什么是大数据可视化

在互联网高速发展的当今,5G的兴起加速了数据传输的速度;与此同时,智能物联网如智慧家电、可穿戴设备等产品的火热,进一步扩充了数据获取的渠道。不仅仅在网页上、手机和电脑应用上以秒计产生海量数据,智能设备同时也在…...

python监控ES索引数量变化

文章目录 1, datafram根据相同的key聚合2, 数据合并:获取采集10,20,30分钟es索引数据脚本测试验证 1, datafram根据相同的key聚合 # 创建df1 > json {key:A, value:1 } {key:B, value:2 } data1 {key: [A, B], value: [1, 2]} df1 pd.DataFrame(data1)# 创建d…...

MySQL explain SQL分析工具详解与最佳实践

目录 一、explain工具介绍二、添加示例表和数据用于后续演示三、explain中的列3.1、id列3.2、select_type列3.3、table列3.4、partitions列3.5、type列NULLsystemconsteq_refrefrangeindexALL 3.6、possible_keys列3.7、key列3.8、key_len列3.9、ref列3.10、rows列3.11、filter…...

【2023年11月第四版教材】第16章《采购管理》(第一部分)

第16章《采购管理》(第一部分) 1 章节内容2 管理基础3 管理过程4 采购管理ITTO汇总 1 章节内容 【本章分值预测】大部分内容不变,细节有一些变化,预计选择题考3-4分,案例和论文 都有可能考;是需要重点学习…...

矢量图形编辑软件illustrator 2023 mac软件特点

illustrator 2023 mac是一款矢量图形编辑软件,用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator mac软件特点 矢量图形:illustrator创建的图形是矢量图形,可以无限放大而不失真,这与像素图形编辑软件&am…...

前端架构师之01_JavaScript_Ajax

1 Web基础知识 1.1 Web服务器 Web服务器又称为网站服务器,主要用于提供网上信息浏览服务。常见的Web服务器软件有Apache HTTP Server(简称Apache)、Nginx等。 浏览器与服务器交互 在Web服务器中,请求资源又分为静态资源和动态…...

Java Spring Boot 目录结构介绍

Java Spring Boot 是一个用于简化Java应用程序开发的框架,它提供了一套灵活、易用的开发工具和约定,帮助开发者更快速地构建各种类型的Java应用程序。Spring Boot 的目录结构是一个重要的组成部分,它规定了如何组织和管理项目代码和资源文件。…...

ubuntu apt工具软件操作

apt工具 -----> 网关 国内网络(仓库源) 美国网络(仓库源)/etc/apt/sources.list https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/sudo apt-get update sudo apt install sl 安装包 sudo apt-cache show sl 查看包信…...

Amphenol ICC RJE1Y13A83152401线束组件解析与替代方案分享

在工业通信、网络设备以及自动化控制系统中,RJ45网线组件一直是不可忽视的重要连接部件。尤其是在工业以太网、交换机、工控主机以及嵌入式通信设备中,高可靠性的线束组件直接影响整机稳定性。 近期不少工程师在项目选型中关注到一款来自 Amphenol ICC 的…...

D2DX:让经典暗黑2在现代PC上重获新生的魔法引擎 ✨

D2DX:让经典暗黑2在现代PC上重获新生的魔法引擎 ✨ 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 还记得那个在…...

CoverM深度解析:如何高效配置PacBio HiFi宏基因组数据覆盖率分析的完整指南

CoverM深度解析:如何高效配置PacBio HiFi宏基因组数据覆盖率分析的完整指南 【免费下载链接】CoverM Read alignment statistics for metagenomics 项目地址: https://gitcode.com/gh_mirrors/co/CoverM CoverM作为一款专业的宏基因组读长覆盖率计算工具&…...

LinkedOM与JSDOM性能对比:10倍速度提升的秘诀

LinkedOM与JSDOM性能对比:10倍速度提升的秘诀 【免费下载链接】linkedom A triple-linked lists based DOM implementation. 项目地址: https://gitcode.com/gh_mirrors/li/linkedom 在现代Web开发中,DOM解析和操作性能直接影响应用响应速度。Lin…...

别再瞎猜了!手把手教你算清FPGA Aurora IP核的用户时钟(附8B/10B编码影响)

别再瞎猜了!手把手教你算清FPGA Aurora IP核的用户时钟(附8B/10B编码影响) 当你在Xilinx Vivado中配置Aurora 8B/10B IP核时,是否曾被USER_CLK的计算问题困扰?这个看似简单的参数背后,其实隐藏着线速率、数…...

别再傻傻点图标了!用VSCode的code命令,在Windows/Mac/Linux终端里秒开项目

终端极客的VSCode效率革命:用命令行秒开项目的深度指南 每次在终端和编辑器之间频繁切换,就像在高速公路和乡间小路间不断换道——效率低下且令人烦躁。作为深度终端用户,我们渴望一种无缝衔接的工作流,而VSCode的code命令正是解决…...

自建AI编程助手服务:Recodex部署与Codex API代理实战

1. 项目概述与核心价值最近在折腾AI编程助手,发现OpenAI的Codex模型确实好用,但直接访问官方服务总是不太稳定,速度也时快时慢,对于需要深度集成的开发工作来说,体验不够丝滑。于是,我花了不少时间研究自建…...

终极指南:华为光猫配置解密工具深度解析与应用实践

终极指南:华为光猫配置解密工具深度解析与应用实践 【免费下载链接】HuaWei-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/hu/HuaWei-Optical-Network-Terminal-Decoder 华为光猫配置解密工具(HuaWei-Optical-Ne…...

深度解析Windows Defender移除技术:高级系统优化与安全组件管理架构实现指南

深度解析Windows Defender移除技术:高级系统优化与安全组件管理架构实现指南 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitco…...

AI代码生成质量评估2026:如何科学衡量Copilot类工具的真实价值

你的团队用了AI编码助手,但你真的知道它带来了多少价值吗?本文提供一套可落地的AI代码生成质量评估框架,从代码正确性到开发者体验,帮你用数据说话。一、为什么需要系统化评估"用了Copilot感觉快了不少"——这是最常见的…...