2017-04-20 18 views
0

http-serverとExpressを使用して異なるポート上の異なるプロジェクトコンポーネント(つまり、ユーザーインターフェイスは8080、一部のAPIは4040)にサーバーするためのプロジェクトが多数あります。npm http-serverの代替ポート

ここでは、一度に複数の異なるプロジェクトを実行していることが多く、これらのユーザーはすべて自分のユーザーインターフェイスには8080、APIには4040を使用します。

http-server(https://www.npmjs.com/package/http-server)には、代替ポートを選択するデフォルトプロセスがありますか?もしそうでなければ誰でもnpmパッケージを提案してもらえますか?

最終的に私は:プロジェクト1のUI 8080とAPI 4040とプロジェクト2のUI 8081とAPI 4041を欲しいです。または類似のもの。

乾杯!

答えて

0

あなたはUIのためにNode-Staticを試してみることができますが、それは静的コンテンツなので、私は仮定します。

pm2などのプロセス監視マネージャーがプロジェクトを開始します。

プロジェクト/ UIポート変数ごとに環境変数を設定/取得することもできます。

process.env.PROJECT_ONE_UI_PORT 
process.env.PROJECT_ONE_API_PORT 
process.env.PROJECT_TWO_UI_PORT 
process.env.PROJECT_TWO_API_PORT 

人物品は、hereチェックアウト設定が処理される部分です。

もう1つの方法は、ポートがすでに使用されている場合にエラーを処理することですが、UIが間違ったURLのapiを探しているような他のサービスには不具合が生じる可能性があります。この場合、アーキテクチャーを再考し、ウェブサーバーでサービスディスカバリーを使用して、他のポートを動的に使用して構成を再構築することができます。もしあなたがそれについての知識が不足しているなら、それは過剰な考えであるかもしれないと私は信じています。