在進行前端項目的開發中, 如果要進行跨域訪問, 而不想在本地配置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