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


Posted in Javascript onMay 31, 2018

最近公司在尝试前后端分离的开发模式,现有应用是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')}`);
});

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

Javascript 相关文章推荐
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
Mar 25 Javascript
调用DOM对象的focus使文本框获得焦点
Feb 19 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
向JavaScript的数组中添加元素的方法小结
Oct 24 Javascript
Vue.js每天必学之计算属性computed与$watch
Sep 05 Javascript
Vue.js组件tabs实现选项卡切换效果
Dec 01 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
Dec 23 Javascript
原生js实现节日时间倒计时功能
Jan 18 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
Mar 16 Javascript
如何实现一个简易版的vuex持久化工具
Sep 11 Javascript
Java 生成随机字符的示例代码
Jan 13 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
May 31 #Javascript
Node.js笔记之process模块解读
May 31 #Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 #Javascript
用JS实现根据当前时间随机生成流水号或者订单号
May 31 #Javascript
Vue2 轮播图slide组件实例代码
May 31 #Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
May 31 #Javascript
JavaScript 中的12种循环遍历方法【总结】
May 31 #Javascript
You might like
解决中英文字符串长度问题函数
2007/01/16 PHP
PHP_MySQL教程-第一天
2007/03/18 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
Django 创建/删除用户的示例代码
2019/07/24 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
煤矿机修工岗位职责
2014/02/07 职场文书
总经理的岗位职责
2014/02/23 职场文书
ktv筹备计划书
2014/05/03 职场文书
消防安全承诺书
2014/05/22 职场文书
质量承诺书怎么写
2014/05/24 职场文书
活动总结格式
2014/08/30 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
2015年征兵工作总结
2015/07/23 职场文书