nodejs 代理 解决开发环境跨域问题

 前后端分离项目中,会遇到跨域问题。解决方法无非就是jsonp cors等。

本次项目前端不搭node服务,线上用nginx搭站点,nginx转发ajax请求server。

本地开发环境的跨域问题用node做代理转发请求server(完美解决开发环境下请求server的跨域问题)。

node代码如下

方法一:request包

"use strict";
const express = require('express');
const path = require('path');
const app = express();
const request = require('request');

// 配置静态文件服务中间件
let serverUrl='http://220.231.2.29:7668';//server地址
app.use(express.static(path.join(__dirname, './')));//静态资源index.html和node代码在一个目录下
app.use('/', function(req, res) {
  let url = serverUrl + req.url;
  req.pipe(request(url)).pipe(res);
});

app.listen(3000,'127.0.0.1', function () {//前端ajax地址写 http://127.0.0.1:3000/
  console.log('server is running at port 3000');
});

 方法一:http-proxy-middleware包

var express = require('express');
var proxy = require('http-proxy-middleware');
var app = express();
app.use('/', proxy({ target: 'http://www.baidu.com', changeOrigin: true }));
app.listen(3000);

  

 

posted @ 2016-10-14 12:11  致敬科神  阅读(12149)  评论(0编辑  收藏