我正在尝试让gulp-webserver使用代理和中间件。
我的角应用程序应该在端口3000上使用gulp-webserver运行 我的Laravel后端使用URL运行apache:“http://backend.api/api/v1”
现在我想将我的角度应用程序中的所有请求重定向/代理,该应用以'/ api'开头到'backend.api / api /'
示例:对于ajax的角度为url:'/ api / v1 / users'应该转到'backend.api / api / v1 / users'并从那里获取它的json数据。
sry在backend.api url前面缺少http - 但是stackoverflow不允许我在一个帖子中有超过2个链接。
我已经尝试了几个小时才能让它与gulp-webserver一起工作 在gulp-connect上,它正在使用此设置:
gulp.task('webserver', function () {
plugins.connect.server({
root: paths.distDevelopFolder,
port: 3000,
middleware: function (connect, o) {
return [(function () {
var url = require('url');
var proxy = require('proxy-middleware');
var options = url.parse('http://backend.api/api');
options.route = '/api';
return proxy(options);
})(), historyApiFallback];
}
});
});
答案 0 :(得分:5)
我正在使用这样的gulp-webserver:
var webserver = require("gulp-webserver")
gulp.task('webserver', function(){
return gulp
.src([paths.distDevelopFolder])
.pipe(webserver({
port: 3000,
livereload: true,
open: 'http://localhost:3000',
proxies: [
{
source: '/api', target: 'http://backend.api/api'
}
]
}));
});
答案 1 :(得分:0)