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应用生成器
- 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;