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 相关文章推荐
JavaScript去除空格的几种方法
Oct 03 Javascript
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
Apr 20 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
Aug 23 Javascript
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
Function.prototype.bind用法示例
Sep 16 Javascript
node.js中的fs.chown方法使用说明
Dec 16 Javascript
如何获取元素的最终background-color
Feb 06 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
Jul 07 Javascript
ReactNative列表ListView的用法
Aug 02 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
Aug 31 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
python 执行文件时额外参数获取的实例
2018/12/18 Python
python的pstuil模块使用方法总结
2019/07/26 Python
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
《花的勇气》教后反思
2014/02/12 职场文书
采购意向书范本
2014/03/31 职场文书
酒店管理求职信范文
2014/04/06 职场文书
车间安全生产标语
2014/06/06 职场文书
标准版离职证明书
2014/09/12 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
2015年建筑工程工作总结
2015/05/13 职场文书
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers