node+express+http-proxy-middleware代理转发

node+express+http-proxy-middleware代理转发

@(node代理转发)[http-proxy|node实现前后端分离|]

阅读更多文章,欢迎进入我的博客:www.jaxqin.com


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

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

用node启动express

  • 1、 打开express中文网址:http://www.expressjs.com.cn/
  • 2、 点击 express应用生成器
    node+express+http-proxy-middleware代理转发_第1张图片
  • 3、 参考其官网的说明 启动一个express(具体过程参照express官网,步骤很简单,这里就不讲过程了)

代理转发配置

找到你启动的express项目下面的app.js, 按下面更改

var express = require('express');
var proxy = require('http-proxy-middleware');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var index = require('./routes/index');
var users = require('./routes/users');

var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));



app.use('/api', proxy({ target: 'http://www.example.com', changeOrigin: true })); //这句话的意思就是说,凡是你的ajax请求里面带api的 就还会自动帮你向http://www.example.com这里进行数据请求
module.exports = app;

然后你把你自己的代码放到目录下public就可以了;


转载请注明:文章来源:www.jaxqin.com;

你可能感兴趣的:(node代理)