Angularjs 如何将Angular SPA(使用http服务器)移植到Azure WebApp?
我已经使用VisualStudio代码创建了一个Angular 1.6.x应用程序,其中包含bower'ed依赖项。Angular应用程序与单独的ASP.NET MVC REST/API应用程序进行数据对话(最终与) 在本地,我使用npm start成功运行Angular应用程序Angularjs 如何将Angular SPA(使用http服务器)移植到Azure WebApp?,angularjs,node.js,azure-web-app-service,Angularjs,Node.js,Azure Web App Service,我已经使用VisualStudio代码创建了一个Angular 1.6.x应用程序,其中包含bower'ed依赖项。Angular应用程序与单独的ASP.NET MVC REST/API应用程序进行数据对话(最终与) 在本地,我使用npm start成功运行Angular应用程序 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "start http://
"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如何知道如何进行“npm启动”?如果这不是自动的,我应该在哪里指示它发生
- 如何指示应用程序使用process.env.PORT而不是端口8080
FWIW,我注意到尝试从Azure控制台运行“npm start”会导致“ELIFECYCLE”错误 当您将应用部署到Azure WebApp时,Azure将使用IIS托管您的应用,并且只有端口80和443面向公众。因此,您不需要任何其他HTTP服务器来在Azure上为您的web应用程序提供服务器
您可以澄清在访问网站时遇到的问题,这样我们可以帮助您找出问题所在。Azure Web App model托管IIS中的node.js/Angular应用程序,因此需要配置的Web.config文件。IIS和node之间的神奇粘合剂是iisnode模块:它允许在IIS中托管node.js应用程序 web.config文件可以指示IIS启动应用程序的app.js(或server.js)文件,其中包括对process.env.PORT的引用 部署节点应用程序的良好总体指南是:
我能找到的关于设置web.config的最佳指南和文档如下:谢谢,Aaron。我在周末发现它是通过Visual Studio中的“Azure Node.js Express 4”模板托管在IIS中的,特别是需要正确配置的web.config文件。