博客
关于我
开发环境设置跨域--react
阅读量:536 次
发布时间:2019-03-08

本文共 1138 字,大约阅读时间需要 3 分钟。

http-proxy-middleware配置多路代理详解

由于本地Node.js版本为10.16.3,正常使用命令npm install http-proxy-middleware --save会下载并安装最新版本2.0.x,但由于版本不兼容,建议固定下载最大版本1.x.1。

配置步骤

当安装完成后,以下是经典的配置示例:

const { createProxyMiddleware } = require('http-proxy-middleware');module.exports = function(app) {    app.use(        ['/api1', '/api2'],        createProxyMiddleware({            target: 'http://localhost',            changeOrigin: true,            pathRewrite: {                '^/api1': '',                '^/api2': ''            },            router: {                'localhost:3000/api1': 'http://localhost:5000',                'localhost:3000/api2': 'http://localhost:5001'            }        }),    );}

详细说明

  • 代理配置方式

    通过pathRewriterouter选项,实现了基于路径的转发规则。

  • 两级路由 /api1/api2

    每个路由都会被代理到指定目标服务器,分别指向localhost:5000localhost:5001

  • 超级简单的实现

    使用http-proxy-middleware包裹成 middleware,然后在路由器中使用,简单高效。

安装推荐

  • 如果已经安装Yarn
    建议使用yarn add http-proxy-middleware --save进行安装,符合项目依赖管理规范。

常见问题

  • 安装失败

    确保Node.js版本为10.16.3及以上,确保网络环境稳定,重新执行安装命令。

  • 配置失败

    检查http-proxy-middleware版本是否为固定版本1.x.1,如果无效可尝试升级至最新版本,确认是否与其他PM件冲突。

  • 未生效

    确保 proxy middleware 在正确的位置,且在 app.use()之前正确加载。如果有组件层使用,建议确保 stack order 正确。

  • 转载地址:http://uhsiz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 多表联合查询:UNION 和 JOIN 分析
    查看>>
    MySQL 大数据量快速插入方法和语句优化
    查看>>
    mysql 如何给SQL添加索引
    查看>>
    mysql 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>
    MySQL 存储引擎
    查看>>
    mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
    查看>>
    MySQL 存储过程参数:in、out、inout
    查看>>
    mysql 存储过程每隔一段时间执行一次
    查看>>
    mysql 存在update不存在insert
    查看>>
    Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
    查看>>
    Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
    查看>>
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>
    Mysql 学习总结(89)—— Mysql 库表容量统计
    查看>>
    mysql 实现主从复制/主从同步
    查看>>
    mysql 审核_审核MySQL数据库上的登录
    查看>>
    mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
    查看>>
    mysql 导入导出大文件
    查看>>