在进行前端项目的开发中, 如果要进行跨域访问, 而不想在本地配置nginx 时, 可以使用gulp 的gulp-connect 和gulp-connect-proxy 两个插件, 完成本地的跨域访问:
var Proxy = require('gulp-connect-proxy');
var connect = require('gulp-connect');
gulp.task("server", function () {
connect.server({
root: "app",
port: 8000,
livereload: true,
middleware: function (connect, opt) {
opt.route = '/proxy';
var proxy = new Proxy(opt);
return [proxy];
}
});
});
在启动 gulp server 任务后, 相当于在本地的8000端口的proxy目录下, 开启了一个转发的服务中间件, 所有的跨越访问, 都经由该服务中间件进行转发.
在访问服务时, 需要在原始URL上添加localhost:8000/proxy/
前缀. 例如, 需要访问
localhost:1234/services
则现在需要访问:
localhost:8000/proxy/localhost:1234/services