gulp-connect で リクエストをプロキシする

こんにちは。クッキーを食べてます、きたけーです。

gulpで、gulp-connectのミドルウェア設定 + proxy-middlewareでリクエストをproxyする術を知ったのでメモ。( https://github.com/AveVlad/gulp-connect/issues/27 )

こんなかんじでできます。

var gulp = require('gulp');
var connect = require('gulp-connect');
var proxy = require('proxy-middleware');
var url = require('url');

gulp.task('connect', function() {
  connect.server({
    root: ['dist'],
    port: 9000,
    livereload: true,
    // /apiにきたリクエストは http://localhost:3000/api にプロキシする。
    middleware: function(connect, o) {
        return [ (function() {
            var options = url.parse('http://localhost:3000/api');
            options.route = '/api';
            return proxy(options);
        })() ];
    }
  });
});

gulp.task('default', ['connect']);