2016-03-31 17 views
0

私はgulp-webserverパッケージのプロキシの理解に少し問題があります。
外部からアクセスできるようにlocalhost 8080をプロキシする必要があります。しかし、私はgulp-webserverのプロキシプロパティを使ってどのように処理できるのかよく分かりません。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' 
       } 
      ] 
     })); 
}); 
  1. ので、このようなプロキシは単に任意のブラウザのアドレスhttp://localhost:8080/helloを入力することで、アクセスもを与えることがあります。ここでは
    私はコードの私の作品がありますか?
  2. この「プロキシ」が使用している理由は何ですか?
  3. 私のローカルホストをgulpで外部からアクセスできるようにするにはどうすればよいですか?

答えて

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に出てデータを取得します。

ローカルマシン以外の開発環境にアクセスしたい場合。あなたがしなければならないのはあなただけ(http://192.168.0.1:3000を入力

(例:192.168.0.1のため)そして、他のマシン上のブラウザから、あなたのマシンのアドレスを見つける必要があり、外部からのその後0.0.0.0にゴクゴク-ウェブサーバhostを設定することです3000はportのプロパティです)、コンテンツを提供しているローカルマシンを見ることができます。

関連する問題