2017-07-21 3 views
0

プロダクションのテスト目的のために、角度1.xで書かれたフロントエンドクライアントとノードバックエンドサーバーコードを分割しなければなりませんでした。クライアントはノードによって提供されるAPI関数を使用しますが、ローカルマシン上の異なるサーバー上で実行しています。ポート5000で稼動するノードサーバーをセットアップし、実行中の角度サーバーは、ポート5000がすでに占有されているため、ポート5001に移動する必要があるという情報を私に提供します。角度とノードを別々に立ち上げてお互いに接続する

両方のサーバーを起動し、ローカルマシン上でAPI関数を共有するにはどうすればよいですか。私は '奉仕' を使用し、角度のために

- このために>https://github.com/angular/angular-cli/wiki/serve

+1

同じポートでクライアントサーバ(角型)とノードサーバ(nodejs)を実行しますか?同じポートで2つのサーバーを実行することはできません:/ –

+0

クライアント側とサーバー側のコードを別々のサーバーで別々に実行することは技術的に不可能ですが、API関数を使用するという点では互いに接続できません。 – andrzej541

+0

両方のサーバーを同じポート上で実行するにはどのような制約がありますか?これは両方とも同じポート上で動作しますが、UIが 'localhost:5000/ui'上で動作し、APIが' localhost:5000/api'上で動作すると、異なるコンテキストで動作しますか? – 31piy

答えて

1
あなたは自分のクライアント側のポートを変更する必要が

、あなたの角度-cli.json編集

{ 
.............. 
"defaults": { 
    "styleExt": "css", 
    "component": {}, 
    "serve": { 
      "port": 5001 
     } 
    } 
................. 
} 

サービスを実行すると、ポート5001でanglejsサーバーが実行されます

1

これは答えではありませんが、私はここに書き留めておかなければならないので、

既にVagrantを使用している場合は、この投稿の残りの部分を無視してください。

これは、迷惑メールインスタンスを設定することによって、両方のアプリケーションを同じポートで使用できるようにするオプションに過ぎません。

ノードアプリケーション用のバゲントを設定します。ホスト:5001をゲスト:5000に転送するように、Vagrantfileを設定します。

config.vm.network :forwarded_port, guest: 5001, host: 5000 

ホスト(localhost)マシンで角型アプリケーションのホスティングを続けることができます。あなたのAPIへのリクエストは、その後、そのバグのインスタンスに転送されます。

角度アプリとapiが既に別のドメインで分離されている場合、ローカルマシン上のホストファイルを更新して、迷惑メールマシンへのドメイン要求を書き換えることができます。

関連する問題