2017-02-24 9 views
0

私はVisual Studio Codeを使ってAngular 1.6.xアプリケーションを作成しました。 Angularアプリケーションは、別のASP.NET MVC REST/APIアプリケーション(最終的にはadal-angular)と会話します。ローカルAngular SPA(http-serverを使用)をAzure WebAppに移植する方法は?

が、私はnpm start使用して成功した角度のアプリを実行するためにhttp-serverを使用しています:私は成功したのAzure上の私の定義されたアプリケーションサービスに角度ソースコードを入手することができたものの

"scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "start": "start http://localhost:8080/app/index.html && http-server -a localhost -p 8080" 
    }, 

(検証連続配信メカニズムを使用して)Webアプリケーションのコンソールオプションを使用して、それが完全に明白なアプリケーションとしては、具体的には、起動しますないですか:

  • はどのようにAzureでは、「NPM開始」を行う方法を知っていますか?それが自動ではない場合、私はどこでこれが起こるよう指示しますか?
  • ポート8080の代わりに、process.env.PORTをアプリケーションに使用するように指示するにはどうすればよいですか?

この初期の問題を克服したと仮定して、Azureにhttpサーバの使用に関するガイドラインはありますか?または、Angular SPAを提供するために推奨される他の方法はありますか?

FWIW、Azureコンソールから 'npm start'を実行しようとすると「ELIFECYCLE」エラーが発生することに注意してください。

答えて

0

Azure Web Appモデルは、IIS内のnode.js/Angularアプリケーションをホストします。したがって、設定済みのweb.configファイルが必要です。 IISとノードの間のマジックグルーはiisnodeモジュールです:https://github.com/tjanczuk/iisnodeこれはIIS内でnode.jsアプリケーションのホスティングを可能にします。

web.configファイルは、process.env.PORTへの参照を含むappのapp.js(またはserver.js)ファイルを開始するようにIISに指示することができます。

ノードアプリケーションを展開するための総合的なガイドは、https://blogs.msdn.microsoft.com/laurelle/2015/12/01/how-to-deploy-a-node-js-site-into-azure-web-app-to-create-a-website/です。私は、web.configファイルを設定する上で見つけることができる

最良の指針とドキュメントはこちらです:https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config

0

Azure WebAppにアプリケーションをデプロイすると、AzureはIISを使用してアプリケーションをホストし、ポート80と443のみが公開されます。 AzureでWebアプリケーションをサーバーするために他のHTTPサーバーは必要ありません。

あなたのウェブサイトにアクセスしたときにどのような問題が発生したのかを明確にすることができます。そこで、何が間違っているか把握することができます。

+0

おかげで、アーロン。私は週末にこれがVisual StudioのAzure Node.js Express 4テンプレート、具体的には適切に設定されたweb.configファイルの必要性によってIISでホストされていることを発見しました。 – HiDefLoLife

関連する問題