我已经使用Visual Studio Code创建了一个Angular 1.6.x应用程序,该应用程序具有bower的依赖关系。 Angular应用程序与单独的ASP.NET MVC REST / API应用程序进行数据交谈(最终使用adal-angular)。
在本地,我使用http-server使用npm start
成功运行Angular应用程序:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "start http://localhost:8080/app/index.html && http-server -a localhost -p 8080"
},
虽然我已经能够使用持续交付机制成功地将Angular源代码获取到我在Azure上定义的应用服务(使用Web应用程序的控制台选项进行验证),但它已经成功了应用程序将如何开始并不完全明显,具体来说:
假设我已经解决了这个初始问题,是否有关于Azure上http-server使用的指南?或者是否有其他推荐的方式来服务Angular SPA?
FWIW,我注意到尝试运行' npm start'从Azure控制台产生一个“ELIFECYCLE”'错误。
答案 0 :(得分:0)
在将应用程序部署到Azure WebApp时,Azure将使用IIS来托管您的应用程序,并且只有端口80和443面向公众。因此,您不需要任何其他HTTP服务器来为Azure上的Web应用程序提供服务。
您可以澄清在访问您的网站时遇到的问题,因此我们可以帮助找出问题所在。
答案 1 :(得分:0)
Azure Web App模型在IIS中托管node.js / Angular应用程序,因此需要配置的web.config文件。 IIS和节点之间的魔力胶是iisnode模块:https://github.com/tjanczuk/iisnode,允许在IIS中托管node.js应用程序。
web.config文件可以指示IIS启动应用程序的app.js(或server.js)文件,该文件将包含对process.env.PORT的引用。
部署节点应用程序的一个很好的总体指南是: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