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')}`);
});

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

相关文章

  • Node.js net模块功能及事件监听用法分析

    Node.js net模块功能及事件监听用法分析

    这篇文章主要介绍了Node.js net模块功能及事件监听用法,结合实例形式分析了net模块功能及事件监听相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • NPM全局安装与本地安装的区别详析

    NPM全局安装与本地安装的区别详析

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,下面这篇文章主要给大家介绍了关于NPM全局安装与本地安装区别的相关资料,需要的朋友可以参考下
    2022-10-10
  • node.js实现的装饰者模式示例

    node.js实现的装饰者模式示例

    这篇文章主要介绍了node.js实现的装饰者模式,简单说明了装饰者模式的原理、功能并结合实例形式给出了node.js装饰者模式的实现方法,需要的朋友可以参考下
    2017-09-09
  • 如何通过node.js来写接口详解

    如何通过node.js来写接口详解

    最近研究了一下nodejs写接口,发现接口并不难写,这篇文章主要给大家介绍了关于如何通过node.js来写接口的相关资料,文中通过实例代码和图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • nodejs中的fiber(纤程)库详解

    nodejs中的fiber(纤程)库详解

    这篇文章主要介绍了nodejs中的fiber(纤程)库详解,本文讲解了node-fibers的安装、API介绍、方法使用示例等内容,需要的朋友可以参考下
    2015-03-03
  • Nodejs之Express中间件的分类介绍

    Nodejs之Express中间件的分类介绍

    这篇文章主要介绍了Nodejs之Express中间件的分类,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Node.js学习之内置模块fs用法示例

    Node.js学习之内置模块fs用法示例

    这篇文章主要介绍了Node.js学习之内置模块fs用法,结合实例形式详细分析了node.js内置模块fs的基本功能、用法与相关操作注意事项,需要的朋友可以参考下
    2020-01-01
  • 基于socket.io+express实现多房间聊天

    基于socket.io+express实现多房间聊天

    本文给大家分享的是使用node.js,基于socket.io+express实现多房间聊天的代码,非常的实用,有需要的小伙伴可以来参考下
    2016-03-03
  • Node.js中Path 模块的介绍和使用示例小结

    Node.js中Path 模块的介绍和使用示例小结

    Node.js path 模块提供了一些用于处理文件路径的小工具,下面通过本文给大家介绍Node.js中Path 模块的介绍和使用示例小结,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • NODE.JS跨域问题的完美解决方案

    NODE.JS跨域问题的完美解决方案

    这篇文章主要介绍了NODE.JS跨域问题的完美解决方案,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10

最新评论