如果使用gulp-connect的话,那么代理需要额外的插件来配置。首先说下为什么需要代理,gulp-connect是静态web的server(就是只能访问静态页面),如果需要向另外一个或几个服务器请求数据那么就需要代理。除非前后端一起部署,不然由于浏览器的限制是没办法跨域请求数据的。即便是前后端部署在一起,如果还需要向其他服务请求数据,或者需要其他服务(检索,缓存等服务),而这些服务通常是独立部署的,那么还是需要代理的。
这里极力推荐http-proxy-middleware代理插件:
var connect = require('gulp-connect');
var proxy = require('http-proxy-middleware');
function server(cb){
connect.server({
root: 'build',
host: '0.0.0.0',
port: 8084,
livereload: true,
middleware: function(connect, opt) {
return [
proxy('/getCity', {
target: 'http://Kf.***.cn',
changeOrigin:true
}),
proxy('/game', {
target: 'http://m.***.cn',
changeOrigin:true
})
]
}
});
cb();
}