node跨域转发 express+http-proxy-middleware的使用

 更新时间:2018年05月31日 10:21:34   作者:愚坤  
这篇文章主要介绍了node跨域转发 express+http-proxy-middleware的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最近公司在尝试前后端分离的开发模式,现有应用是java语言,要从中间拆除一个小的模块来做前后端分离,工具上还是jquery,只不过是流程和分工上的分离,不想在前端的机器上搭建一套java环境,就根据教程搭了一下转发,让本地可以接上开发服务器联调。

为什么要使用node代理转发?

我们要实现前后端分离,然后前端不在自己的电脑上安装tomcat,这时候,我们通过用node搭建服务器,然后转发我们的请求。例如:自己本地是localhost:3000,我们需要访问http://www.example.com(当然,开发过程中,这个应该是你们后台的tomcat的地址), 来做ajax的数据交互。

创建项目

npm init

安装模块

npm install express connect-timeout http-proxy-middleware --save-dev

创建js文件

<!--proxy-server.js-->
const express = require('express');
const timeout = require('connect-timeout');
const proxy = require('http-proxy-middleware');
const app = express();

// 超时时间
const TIME_OUT = 30 * 1e3;

// 设置端口
app.set('port', '80');

// 设置超时 返回超时响应
app.use(timeout(TIME_OUT));
app.use((req, res, next) => {
 if (!req.timedout) next();
});


proxyOption = {
 target: 'http://localhost:8080',
 pathRewrite: {
    '^/api/' : '/' // 重写请求,api/解析为/
  },
  changeOrigoin:true
};

// 静态资源路径
app.use('/', express.static('src/page'));

// 反向代理
app.use('/api/*', proxy(proxyOption));

// 监听端口
app.listen(app.get('port'), () => {
 console.log(`server running @${app.get('port')}`);
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • nodejs超出最大的调用栈错误问题

    nodejs超出最大的调用栈错误问题

    这篇文章主要介绍了nodejs超出最大的调用栈错误问题,需要的朋友可以参考下
    2017-12-12
  • Node.js有效处理并发连接的过程

    Node.js有效处理并发连接的过程

    在现代 web 开发中,处理并发连接是一个对于构建高性能服务器至关重要的话题,Node.js 是一个使用 JavaScript 作为编程语言的服务器端环境,在这篇博客中,我们将深入探讨 Node.js 如何有效地管理并发连接,并提供一些示例代码以便于更好地理解这个过程
    2024-10-10
  • 如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)

    如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)

    这篇文章主要介绍了如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 如何在Nestjs和Vue3中使用socket.io示例详解

    如何在Nestjs和Vue3中使用socket.io示例详解

    这篇文章主要为大家介绍了如何在Nestjs和Vue3中使用socket.io示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • npm 工具库 yenv使用简介

    npm 工具库 yenv使用简介

    这篇文章主要为大家介绍了npm 工具库 yenv使用简介,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 利用node.js实现反向代理的方法详解

    利用node.js实现反向代理的方法详解

    在实际工程开发中,会有前后端分离的需求。为了平滑的完成前端请求到后端各个独立服务,需要一个中间件实现请求转发的功能,利用Nginx可以实现,在这里使用nodejs实现一个反向代理服务器。本文主要介绍了关于利用node.js实现反向代理的相关资料,需要的朋友可以参考下。
    2017-07-07
  • Electron调用外接摄像头并拍照上传实现详解

    Electron调用外接摄像头并拍照上传实现详解

    这篇文章主要为大家介绍了Electron调用外接摄像头并拍照上传实例实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Node.js中Mongodb数据库操作方法(最新推荐)

    Node.js中Mongodb数据库操作方法(最新推荐)

    MongoDB是一种基于分布式文件存储的NoSQL数据库,它允许存储和检索大量结构化数据,MongoDB的核心概念包括数据库、集合和文档,每个集合可以包含多个文档,每个文档是一个键值对的集合,本文介绍Node.js Mongodb数据库操作方法,感兴趣的朋友一起看看吧
    2024-12-12
  • Node.js开发第三方微信公众平台

    Node.js开发第三方微信公众平台

    这篇文章主要介绍了Node.js开发第三方微信公众平台的相关资料,需要的朋友可以参考下
    2017-06-06
  • nodejs前端自动化构建环境的搭建

    nodejs前端自动化构建环境的搭建

    本文这里给大家介绍的是nodejs中前端自动化构建环境的搭建方法,非常的细致全面,有需要的小伙伴可以参考下
    2017-07-07

最新评论