gulp代理接口配置
最近新到一家公司,构建工具是bower+gulp+nginx.
但是呢,我又不想装nginx 并且嫌弃nginx配置接口代理太麻烦,我想到我上一家公司也是接口代理的。
然后我就看了下gulpfile.js配置,主要是用webserver。如下:
``` var webServer = require('gulp-webserver'); // WebServer gulp.task('web-server', function() { var config; try { config = require('./config'); //接口代理配置文件 gutil.log('load configuration file'); } catch(e) { config = { api: 'http://localhost:8082/api' }; gutil.log('using default configuration: ', config); } gulp.src('./src') .pipe(webServer({ host: '0.0.0.0', fallback: 'index.html', livereload: { enable: true, port: 8001, filter: function(fileName) { if (fileName.match(/\.ts$/)) { return false; } else if(fileName.match(/\.js\.map$/)) { return false; } else { return true; } } }, directoryListing: true, port: 8000, proxies:[{ source: '/api', target: config.api }] })); }); ```
但是我没用这一种方法,现在主要用到的是 browserSync 和 http-proxy-middleware,如下:
``` var proxyMiddleware = require('http-proxy-middleware'); var browserSync = require('browser-sync'); var proxy = proxyMiddleware('/api', { target: 'https://127.0.0.1/',代理接口地址 changeOrigin: true }); // Static server gulp.task('serve', function() { browserSync({ server: { baseDir: "./source/", middleware: [proxy] } }); gulp.watch(["./source/**/*.html", "./source/**/*.css", "./source/**/*.js"]).on('change', reload); }); ```
我也不清楚哪个好哪个不好,暂时先解决问题吧。 如果讲述错误,还望指正。