私はこれが答えを得るのが難しい質問の一種だと言います。誰かがこのトピックに関する本全体を書くことができ、多くの面が個人的な好みやアプローチなどの問題です。
最初の回答を試みる前に、私はNode.jsになじみがないことを指摘したいと思いますが、私はAzure AppServiceとASP.Net Core MVCをよく知っています。
Azure AppService(この場合はウェブサイト)には標準設定がありません。あなたが言及した3つのオプションはすべて有効です。私のAzure AppServiceでの誇大妄想に基づいて、公に利用可能なAPIを持っているときは、オプション1が適していると言います。その場合、Azure Management APIでAPIを登録することもできます。
第2の選択肢は、あなたのフロントエンドがAPIの唯一のコンシューマである場合には、私の意見では、最適です。
3つ目のオプションは一般的ではありませんが、100%可能です。 Hereは、仮想ディレクトリを設定する方法と、Visual Studioを使用して仮想ディレクトリをアプリケーションに展開する方法に関する非常に良い記事です。私は、これがどのようにあなたの使い捨て工具で正確に行われるのかはわかりませんが、概念的には可能でなければなりません。しかし、NODE.jsプロジェクトを仮想ディレクトリに展開すると、準備が必要な問題が発生する可能性があります。詳細情報here。
私は開始時に言ったことに固執します:私のAngularアプリケーションがAPIの唯一のコンシューマであれば、私はバックエンドとフロントエンドの両方を同じWebアプリケーションに配備し、2つの異なるWebアプリケーションAPIは公開されました。
私はこの点に関して他に何が考えられるのでしょうか。
出典
2017-05-13 21:44:15
Dan
質問がなぜ多くの投票を得ているのか分かりません。それは完全に有効な質問です。仮想ディレクトリについてはわかりませんが、あなたのコメントは約1対2のWebアプリケーションで有効だと思います。パブリックAPIを持っていても、必ずしも2つのWebアプリが望ましいとは限りませんが、検討する価値があります。あなたが本当に自分自身に尋ねたいことは、しばらく私のサイトをダウンさせたいとしても、私のAPIは利用可能である必要がありますか?その後、2つのWebアプリケーションが良いです。それ以外の場合は、1つのWebアプリケーションが非常にうまく機能します。フロントエンドで角張っていて、バックエンドでノードが静的にサービスされているサイトは、かなりうまくいきます! – Sam
私は多かれ少なかれ同じ考えをしていましたが、それは少し違っていました。ただし、仮想ディレクトリを使用することは、回答に記載されているように、可能であれば、最後の手段としてのみ推奨するものです。 P.S.私もあなたがなぜ票を落としたのかわからない:(それは私ではなかった:) – Dan