我对gulp-webserver包的代理有一点了解。
我需要代理我的localhost 8080,以便从外部访问它。但是我不太明白如何使用gulp-webserver proxies属性来实现它
在这里,我有一段代码:
gulp.task('server', function(){
gulp.src('dist')
.pipe(webserver({
livereload: true,
open:true,
port:8080,
proxies:[
{
source:'/hello',
target:'http://localhost:8080/hello'
}
]
}));
});
答案 0 :(得分:0)
回答你们中的一个问题,你应该了解其余的问题。
在此开发环境中使用代理设置是绕过CORS(google it)。您的ajax呼叫不能简单地拨打另一个域/服务器地址;实际上你可以,但你的浏览器安全策略会阻止你这样做,有办法解决它。而你正在发展。您很可能拥有http://localhost域名。而实际的终点就是坐在其他地方。
例如在你的ajax调用中
$http.post('/api', data);
您实际上正在拨打http://localhost/api
哪个不存在(除非你有一个完整的后端运行)。例如,您有一个真正的后端从http://real.com/api运行。通过设置gulp设置代理。
无论何时指向/ api,它都会转到http://real.com/api为您提取数据。
如果要访问本地计算机外部的开发。您所要做的就是将gulp-webserver host
设置为0.0.0.0
,然后从外部找到您的机器地址(例如192.168.0.1)
在其他计算机上的浏览器中输入http://192.168.0.1:3000(3000是port
的属性),您应该可以看到本地计算机提供内容。